Linux常用命令
1) 除了/之外,所有的字符都合法。
2) 有些字符最好不用,比如空格,制表符,退格符合字符@#¥()-等。
3) 避免使用,作为普通文件名的第一个字符。
4) 大小写敏感。
命令格式:命令 –选项 参数
例如:ls –la /etc
说明:1)当有多个选项时,可以写在一起。
2)两个特殊的目录,.和..分别代表当前目录和当前目录的父目录,在linux下面,cd ..是返回上一级目录
只有root可以执行的命令放在 /sbin /usr/sbin下面,bin表示binary,s表示super
所有user都可以执行的命令放在/bin /usr/bin 下面
文件处理命令:ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald][文件或目录]
-a 显示所有文件 a-all 带a 参数可以看到隐藏文件
-l 详细信息显示 l-long
drwxr-xrr-x 2 root root 4096 12-01 20:52 bin
例如 drwxr-xrr-x d是指文件类型 d是directory,-是指二进制文件 l是软链接文件
rwxr-xrr-x分成3部分来看,rwx代表了3种权限,读写执行,前3个字母代表所有者user的权限,中级的3个字母代表所属组group,后3个字母代表其他others
2是硬链接数 4096是文件大小,注意不是指文件的真实大小,在linux里面,是以数据块block为单位,存储数据的最小单位就是数据块,一个默认数据块大小是512字节,12-01 20:52是指文件创建的时间或者最后修改的时间,bin是文件名称
-d 查看目录属性
文件处理命令:cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
功能描述:切换目录
语法:cd [目录]
范例:$cd / 切换到根目录
$cd .. 回到上一级目录
文件处理命令:pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
功能描述:显示当前所在的工作目录
语法:pwd
范例:$pwd /etc/rc5.d
文件处理命令:mkdir
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
功能描述:创建新目录
语法:mkdir [目录名]
范例:$mkdir newdir
文件处理命令:touch
命令名称:touch
命令英文原意:
命令所在路径:/bin/ touch
执行权限:所有用户
功能描述:创建空文件
语法:touch [文件名]
范例:$touch newdir
文件处理命令:cp
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或目录
语法:cp –R [源文件或目录][目的目录]
-R 复制目录
范例:$cp file1 files2 dir1 将文件file1,fiel2复制到dir2目录下
$cp –R dir1 dir2 将dir下的所有文件及子目录复制到dir2
文件处理命令:mv
命令名称:mv
命令英文原意:move
命令所在路径:/bin/ mv
执行权限:所有用户
功能描述:移动文件,更名
语法:mv [源文件或目录][目的目录]
范例:$mv file1 files3 将当前目录下文件file1更名为file3
$ mv file2 dir2 将文件file2移动到目录dir2下
文件处理命令:rm
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/ rm
执行权限:所有用户
功能描述:删除文件
语法:rm –r [文件或目录]
rm –r 删除目录
\rm [文件] 直接删除文件,不询问
rmdir也是删除目录,但是只能删除空目录
范例:$rm file3 删除文件file3
$rm –r dir1 删除目录dir1
$rm –rf dir1 删除目录dir1,不做是否确定删除的询问
文件处理命令:cat
命令名称:cat
命令英文原意:concatenate and display files
命令所在路径:/bin/ cat
执行权限:所有用户
功能描述:显示文件内容
语法:cat [文件名]
范例:$cat /etc/issue
$cat /etc/services
文件处理命令:more
命令名称:more
命令所在路径:/bin/ more
执行权限:所有用户
功能描述:分段显示文件内容
语法:more [文件名]
(空格)或f 显示下一页
(enter) 显示下一行
Q或q 退出
范例:$more /etc/services
文件处理命令:head
命令名称:head
命令所在路径:/bin/ head
执行权限:所有用户
功能描述:查看文件的前几行
语法:head -num [文件名]
-num 显示文件的前num行
范例:$head -20 /etc/services
文件处理命令:tail
命令名称:tail
命令所在路径:/bin/ tail
执行权限:所有用户
功能描述:查看文件的hou几行
语法:tail -num [文件名]
-num 显示文件的后num行
-f 动态显示文件内容(比如日志信息是动态更新,可以实时的看到最新的信息)
范例:$tail -20 /etc/services
文件处理命令:ln
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ ln
执行权限:所有用户
功能描述:产生链接文件
语法:ln -s [源文件][目标文件]
-s 创建软链接
范例:$ln –s /etc/issue /issue.soft 创建文件/etc/issue的软链接文件为/issue.soft
$ln /etc/issue /issue.hard 创建文件/etc/issue的硬链接文件为/issue.hard
所有的软链接文件的权限都是rwxrwxrwx,类型是l à表示指向源文件,软链接类似于windows的桌面快捷方式,硬链接文件类型是- 硬链接文件大小和源文件一样,类似于复制,但是和复制不一样的是,它和源文件是同步更新的,类似于cp –p,当删除源文件的时候,硬链接不会消失,并能访问。为什么能够同步更新呢,使用ls –i来查看文件,可以看到每个文件的inode 在linux里面内核不认字母,他只认数字,内核对文件操作只认数字,文件的数字标识是inode,每个文件必须都要有一个inode,如果一个文件没有inode,则该文件则无法访问,可以看到硬链接的inode和源文件的inode是一样的,所以可以同步更新,相当于i节点映射到两个文件,内核看到两个相同的节点,就都向两个文件写数据
软链接可以跨文件系统生成,硬链接不可以,比如ln a /a.hard是不允许的
权限管理命令:chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/ chmod
执行权限:所有用户
功能描述:改变文件或目录权限
语法:chmod [{ugo}{+-=}{rwx}] [文件或目录]
[mode=421][文件或目录]
范例:$chmod g+w file1 赋予文件file1所属组写权限
$chmod 777 dir1 设定目录dir1为所有用户具有全部权限
u-所有者 g-所属组 o-其他人 +—表示增加去除权限 =表示赋予权限
r-4 w-2 x-1 如果rwxr-xr-- 754
用管理员root创建一个目录,在此目录下面创建一个newfile文件,目录的权限是drwxr-xr-x,文件的权限是-rwxrwxrwx,普通用户是不可以删除newfile文件的,切换用户是su –用户名,为什么不能删除呢,明明有777的权限,如果把目录是权限改成777,把文件是权限改成rw-r—r--,则发现是可以使用普通用户来删除newfile文件,这里面就是一个关于目录和文件的w权限是理解
文件
r-cat,more,head,tail
w-echo,vi
x-命令,脚本
目录
r-ls
w-touch,mkdir,rm
x-cd
权限管理命令:chown
命令名称:chown
命令所在路径:/bin/ chown
命令英文原意:change file ownership
执行权限:所有用户
功能描述:改变文件或目录的所有者
语法:chown [用户][文件或目录]
范例:$chown nobody file1 改变文件file1的所有者为nobody
权限管理命令:chgrp
命令名称:chgrp
命令所在路径:/bin/ chgrp
执行权限:所有用户
功能描述:改变文件或目录的所属组
语法:chgrp [用户组][文件或目录]
范例:$ chgrp adm file1 改变文件file1的所属组为adm
权限管理命令:umask
命令名称:umask
命令所在路径:/bin/ umask
执行权限:所有用户
功能描述:显示,设置文件的缺省权限
语法:umask [-S]
–S以rwx形式显示新建文件或目录缺省权限
范例:$ umask
$umask –S
系统默认创建一个文件的权限使用umask –S或umask 来查看
如果使用umak查看会看到0022,第一个0是特殊权限位,022是用户权限位,是权限掩码值,实际就是755,linux权限规则,缺省创建的文件不能授予可执行的x权限,都把x的1去了,实际都只能是644
文件搜索命令:which
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
功能描述:显示系统命令所在目录
语法:which [命令名称]
范例:$ which ls
Whereis 和which 一样,which 除了可以找到命令目录,别名记录,where is可以找到命令记录,已经该命令帮助文档所在位置
文件搜索命令:find
命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
功能描述:查找文件或目录
语法:find [搜索路径][搜索关键字]
范例:$ find /etc –name init 在目录/etc中查找文件名里包括init关键字的文件
$ find /etc –type f 在目录/etc中查找文件类型是二进制文件的文件,f二进制文件,l软链接文件
$ find /etc –name init* 在目录/etc中查找以init开头的文件,*是匹配任意字符
$ find /etc –name init??? 在目录/etc中查找以init开头后面是3个字符的文件,?是匹配单个字符
$ find / -size +204800 在根目录下查找大于100MB的文件,这里是204800个数据块,一个数据块大小是512字节
$ find / -user sam 在根目录下查找所有者为sam的文件
尽量不要在根目录下查找,因为查找速度慢,再者是会占用大量系统资源
$ find /etc -ctime -l 在/etc下查找24小时内被修改过属性的文件和目录
天 ctime ,atime,mtime 分钟cmin,amin,mmin
c-change 改变 a-access 访问 m-modify修改 c表示文件属性被修改过,包括所有者,所属组,权限,m表示文件内容被修改过,a表示文件被浏览过
连接符-a and 表示与 –o or表示或
$ find /etc –size +163840 –a –size -204800 在/etc下查找大于80MB小于100MB的文件
$ find /etc –name inittab –exec ls –l {} \; 在/etc下查找inittab文件并显示其详细信息
$ find /home –user samlee –exec rm -rf {} \;在/etc下查找用户是samlee的文件并删除
格式$ find …… –exec 命令 –l {} \; {}代表查询结果 \表示转义符,符号命令使用本身含义 ;表示结果
碰到删除不了的文件,先用ls –i来查看改文件对应的i节点是数字,假如是16,再使用$ find . -inum 16 –exec rm -rf {} \;来删除就行了
文件搜索命令:locate
命令名称:locate
指令英文原义:list files in databases
命令所在路径:/usr/bin/locate
执行权限:所有用户
功能描述:寻找文件或目录
语法:locate [搜索关键字]
范例:$ locate file 列出所有跟file相关的文件
Locate和find有区别,locate是根据一个数据库来查询的,所以新创建的文件是不能找到的,一般还要和updatedb配合使用
文件搜索命令:updatedb
命令名称:updatedb
指令英文原义:updatedb the slocate database
命令所在路径:/usr/bin/updatedb
执行权限:root
功能描述:建立整个系统目录文件是数据库
语法:updatedb
范例:#updatedb
文件搜索命令:grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
功能描述:在文件中搜索字串匹配的行并输出
范例:#grep ftp /etc/services
文件搜索命令:man
命令名称:man
命令英文原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法:man [命令或配置文件]
功能描述:获得帮助信息
范例:$man ls 查看ls命令的帮助信息
$man services 查看配置文件services的帮助信息
比如man passwd,passwd可以是命令也可以是配置文件,如果使用man passwd则man的是命令,因为系统默认先man命令,如果想man配置文件,则要使用man 5 passwd,不加5的话实际上是man 1 passwd,只是1被隐藏了
文件搜索命令:info
命令名称:info
命令英文原意:information
命令所在路径:/usr/bin/ info
执行权限:所有用户
语法:info [任何关键字]
功能描述:获得帮助信息
范例:$ info ls 查看ls指令的帮助信息
文件搜索命令:whatis
命令名称:whatis apropos makewhatis
命令英文原意:search the whatis database for strings
命令所在路径:/usr/bin/whatis apropos
/usr/sbin/makewhatis
执行权限:所有用户,root
语法:whatis apropos [任何关键字]
功能描述:获得索引的简短说明信息
范例:$whatis ls
$apropos fstab 相当于man -k
Ls –help是把命令可用选项列出来
#makewhatis 建立whatis 和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database没有建立
Help 查看shell内置命令的帮助
压缩解压命令:gzip
命令名称:gzip
命令英文原意:GNU zip
命令所在路径:/bin/gzip
执行权限:所有用户
语法:gzip选项[文件]
功能描述:压缩文件
压缩后文件格式:.gz
使用gzip产生压缩包之后,原压缩包会被删除,只留下新创建的压缩包,gzip只能压缩文件,不能压缩目录
压缩解压命令:gunzip
命令名称:gunzip
命令英文原意:GNU unzip
命令所在路径:/bin/gunzip
执行权限:所有用户
语法:gunzip选项[压缩文件]
功能描述:解压缩.gz的压缩文件
范例:$gunzip file1.gz
压缩解压命令:tar
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
语法:tar选项[cvf][目录]
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
功能描述:打包目录
压缩后文件格式:tar.gz
范例: $tar –zcvf dir1.tar.gz dir1 将目录dir1压缩成一个打包并压缩的文件
file [文件名] 可以帮助判断某个文件是什么文件类型
有些unix不支持直接打包并压缩成一个文件,则要分步执行,先打包成tar tar –cf newdir4.tar newdir4,再压缩gzip newdir4.tar
压缩解压命令:tar
语法:tar选项[cvf][目录]
-x 解包.tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
范例:$tar –zxvf dir1.tar.gz
分两步解压的话就是gunzip newdir.tar.gz tar –xf newdir.tar
压缩解压命令:zip
命令名称:zip
命令所在路径:/usr/bin/zip
执行权限:所有用户
语法:zip选项[-r][压缩后文件名称][文件或目录]
-r 压缩目录
功能描述:压缩文件或目录
压缩后文件格式:.zip
范例:$zip services.zip /etc/services 压缩文件
$zip –r test.zip /test 压缩目录
压缩解压命令:unzip
命令名称:unzip
命令所在路径:/usr/bin/unzip
执行权限:所有用户
语法:unzip [压缩文件]
功能描述:解压.zip的压缩文件
范例:$unzip test.zip
压缩解压命令:bzip2 bzip2压缩比很厉害,相当于gzip的升级版,多了个-k的参数
命令名称:bzip2
命令所在路径:/usr/bin/ bzip2
执行权限:所有用户
语法:bzip2 选项[-k][文件]
-k 产生压缩文件后保留原文件
功能描述:压缩文件
压缩后文件格式:bz2
范例:$bzip2 –k file1
压缩解压命令:bunzip2
命令名称:bunzip2
命令所在路径:/usr/bin/ bunzip2
执行权限:所有用户
语法:bunzip2 选项[-k][压缩文件]
-k 解压缩后保留原文件
功能描述:解压缩
范例:$bunzip2 –k file1.bz2
网络通信命令:write
命令名称:write
命令所在路径:/usr/bin/write
执行权限:所有用户
语法:write <用户名>
功能描述:向另外一个用户发信息。以crtl+d作为结束
范例:$write webmaster
必须在线的用户,才能接受信息
网络通信命令:wall
命令名称:wall
命令所在路径:/usr/bin/wall
执行权限:所有用户
语法:wall [message][文件名]
功能描述:向所有用户广播信息
范例:$wall hellp
网络通信命令:ping
命令名称:ping
命令所在路径:/usr/sbin/ ping
执行权限:root
语法:ping 选项 ip地址
-s [包大小] ip地址 发送特定大小的包
功能描述:测试网络连通性
范例:#ping 192.168.1.1
网络通信命令:ifconfig
命令名称:ifconfig
命令所在路径:/usr/sbin/ ifconfig
执行权限:root
语法:ifconfig 选项[-a][网卡设备标识]
-a 显示所有网卡信息
功能描述:查看网络设置信息
范例:#ifconfig -a
网络通信命令:ifconfig
命令名称:ifconfig
命令所在路径:/usr/sbin/ ifconfig
执行权限:root
语法:ifconfig 选项[-a][网卡设备标识]
-a 显示所有网卡信息
Ifconfig eht0 ip地址 改变网卡的IP地址,但是重启后会恢复到原来的IP地址
功能描述:查看网络设置信息
范例:#ifconfig -a
系统关机命令:shutdown
命令名称:shutdown
命令所在路径:/usr/sbin/ shutdown
执行权限:root
功能描述:关机
范例:#shutdown –h now
系统关机命令:reboot
命令名称:reboot
命令所在路径:/usr/sbin/ reboot
执行权限:root
功能描述:重启系统
范例:# reboot
Shell应用技巧
命令别名,输入输出重定向,管道,命令连接符,命令替换符
Clear是清屏,或者是ctrl+l ctrl+u可以删除光标前面所有的字符
Bash应用技巧
命令补齐:命令补齐运行用户输入文件名起始的若干个字母后,按<tab>键补齐文件名
命令历史:命令历史运行用户浏览先前输入的命令并重新调用它们,用history明年该了可以显示命令列表,按方向键可以查找以前执行过的命令
命令别名定义:
范例:alias copy=cp
alias xrm=”rm –r”
查看别名信息:alias
删除别名:unalias copy
输入输出重定向
同标准I/O一样,shell对于每一个进程预先定义3个文件描述字(0,1,2)。分别对应于:
0 (STDIN)标准输入
1 (STDOUT)标准输出;
2 (STDERR)标准错误输出
> 或>> 输出重定向
范例:ls –l /tmp>/tmp.msg
date >> /tmp.msg >>是在已有文件内容后面追加信息
<输入重定向
范例:wall < /etc/motd 从其他文件中输入,比如已写好的文件,不是指从键盘输入
2> 错误输出重定向
范例:cp –R /usr/backup/usr.bak 2> /bak.error 如果cp操作出错,则把错误信息备份到/bak.error
管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入
使用方法:命令1|命令2|命令3……|命令n
范例: ls –l /etc|more
ls –l /etc|grep init
ls –l /etc|grep init|wc –l wc是计算一个文件有多少行
命令替换符:将一个命令的输出作为另一个命令的参数。
格式为:命令1 `命令2`
范例:ls –l `which touch` 相当于 ls –l /bin/touch
本文转自 rebelxuan 51CTO博客,原文链接:http://blog.51cto.com/nizhuan/724121