首页 > 代码库 > linux常用命令

linux常用命令

要掌握好命令,需用过linux系统,并了解一些linux系统知识,这里例举几个:

根目录 文件系统与window不同,根目录是/

相对路径,绝对路径

以/开头表示绝对路径/home/ken/xxx

不以/开头表示相对路径    例如 cd ./cdir 表示到当前目录下的cdir目录下

inode  
shell bash  tcsh  zsh
环境变量 http://www.cnblogs.com/growup/archive/2011/07/02/2096142.html
输入输出重定向 http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html
管道 把一个程序的输出直接连接到另一个程序的输入

wiki上有一个unix命令列表:http://zh.wikipedia.org/wiki/Template:Unix%E5%91%BD%E4%BB%A4

由于linux和unix兼容,可以直接参照学习.下面列出一些本人常用的命令,简单分类并附加简单说明:

 

文件系统命令:

pwd 显示当前工作目录

cd

cd . 到当前目录 
cd .. 到上级目录 
cd ~ 到用户主目录  
cd /  到根目录
ls list directory contents
学习网址:http://www.cnblogs.com/s7vens/archive/2011/12/01/2270426.html

-a 列出所有文件,包含以.开头的文件  在linux中.开头的文件表示隐藏文件

-A 列出所有文件,不包含. 和 ..

-l 显示详细信息 

-h human readable , 和-l配合使用 显示的大小带有单位 例如  ls -lh cdir

-i 显示inode

-S sort 按照大小排序

-t 按照时间排序

-r reverse  和排序配合 ls -Sr xx 表示按照文件大小倒序  ls –tr xxx 按照时间倒序排列

例子:ls */*.c 列出二级目录中所有的c文件

chmod

改变文件权限,只有文件所有者和超级用户可以修改文件或目录的权限。

学习网址:http://zh.wikipedia.org/wiki/Chmod

    用八进制语法来表示权限:r=4 w=2 x=1 –=0   rwx,也就是4+2+1=7

        chmod 664 myfile 修改拥有者和组内其他用户对该文件有读写权限,组外其他成员只有读权限

    用符号模式来表示权限:

     用户:  u:user 文件所有者  g:group 文件所有者所在组  o:others 所有其他用户 a:all 所用用户, 相当于ugo

        操作:   +:为指定的用户类型增加权限  -:去除指定用户类型的权限  =设置指定用户权限的设置,即将用户类型的所有权限重新设置\

        权限:    r: 读  w:写  x:执行

        chmod ug+rw,o=r  myfile

        chmod u=rwx,go= myfile  

cat 文件内容查看
cp 复制
cp file1 file2
cp *.c dir0
cp ./ken/* dir1
cp –R dir1 dir2 把一个目录以及其包含的所有子目录和文件,复制到另一目录中  -r和-R一样
cp –i  覆盖提示
cp –f  强行复制,覆盖的方式
rm 删除
rm –i file  带提示
rm –f 强制删除 目录有写保护除外
rm –r 递归删除 删除目录
xargs rm< filelist 批量删除
find . -name ‘*.png‘ -print0 | xargs -0 rm
mv 移动 重命名
-i 交互
-f 强制
-n 不覆盖已存在文件, 使-i和-f失效.
touch 改变文件访问修改时间,新建空文件
touch myfile  文件不存在就新建文件,文件存在就改变访问和修改时间为当前时间
mkdir 新建目录

mkdir test1

-v  每次创建新目录都显示信息

-p 创建多级目录

mkdir –vp test1/test2/test3

 

用户环境:

clear 清屏,相当于windows中的cls

histrory

查看历史命令
su su 用户名 切换用户
whoami

当前用户是谁, 在不断转换身份操作系统时比较有用.

例如刚开始用户是ken,运行命令su yan后,身份成为yan用户,su root后身份成为超级用户

当需要了解当前用哪个用户做操作时这个命令会排上用场

sudo 以超级用户运行
passwd

修改密码

exit

退出
env 显示显示所有环境变量和值

 

程序:

ps 显示正在运行的进程
-l 长格式
-f 树形格式
-a 显示所有用户进程
-r 运行中的进程

%CPU 进程正在使用多少个CPU
%MEM 进程正在使用多少内存
ADDR 进程的内存地址
C或CP CPU使用率和调度信息
COMMAND* 进程名,包括参数(如果有的话)
NI nice值
F 标志
PID 进程ID
PPID 父进程ID
PRI 进程优先级
RSS 真实内存用量
S or STAT 进程状态码
START or STIME 进程启动时间
SZ 虚拟内存用量
TIME 总CPU用量
TT或TTY 与进程相关的终端
UID或USER 进程所有者的用户名
WCHAN 进程所等待事件的内存地址

top 动态显示进程

kill

kill –9 20345 强制杀死20345进程
date 显示和设置系统日期和时间
time 执行命令并计时
cal 显示日历

 

 

查找和编辑:

awk

把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键"

last -n 5 | awk ‘{print $1}‘ 显示last -n 5 执行结果的第1列

cat /etc/passwd |awk -F ‘:‘ ‘{print $1}‘   每行用:分割符

head

head -n 10 file1 显示文件前10行

tail tail –f file1  动态监视文件的增长
tail –n 10 file1 显示文件后10行
wc

显示文件的 行数 字数 字节数 文件名称.

-c 统计字节数。

-l 统计行数。

-m 统计字符数。这个标志不能与 -c 标志一起使用。

-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

vi 学习网址:http://www.cnblogs.com/88999660/articles/1581524.html
find 查找文件
可以用逻辑运算符and、or、not 分别对应 –a  -o  !
find –name ‘*.bak’ –o –name ‘*.log’
find ! –name ‘file1’
-group 指定组
-user 指定用户
-empty 查找大小为0的目录或文件
参照:http://blog.chinaunix.net/uid-20082146-id-83489.html
grep http://www.cnblogs.com/end/archive/2012/02/21/2360965.htm
whereis 将提供的文件名参数前端的路径与后端的扩展名部分截去,并找出文件名与之相匹配的特殊文件
查找主要为在环境变量的路径中查找目标,一般用于程序命令位置查找
more 分屏显示
xargs 将参数列表转换成小块分段传递给其他命令
http://zh.wikipedia.org/wiki/Xargs

 

其他:

man man ls 查看命令手册

shutdown

shutdown –r now 重启
shutdown  now 关机
ping ping xx.xx.xx.xx  检测网络是否联通
ssh 远程登录, 现在用ssh对应的工具登录更多一些
netstat http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html
nohup http://www.2cto.com/os/201301/185701.html