一、调用格式
1、格式:命令 -选项 参数
ls -la /etc
.
当前目录..
当前目录的父目录
2、执行权限(路径)
- root:
/sbin
: /usr/sbin - all users:
/bin
: /usr/bin ctrl+c
终止命令
二、文件处理命令
1、ls
(list) /bin/ls 显示目录文件
-a
(all): 显示所有文件,包括隐藏文件-l
(long): 详细信息显示 **-d
(directory): 查看目录属性-i
(inode): i节点(数字标识–内核识别), 每个文件,必须有一个i节点,内核调用的数字标识
$ ls -ld /wdn
drwxr-xr-x 3 root root 4096 02-02 03:03 /wdn
drwxr-xr-x 2 root root 4096 2010-01-27 opt
文件类型 2-硬链接数 所有者 所属组 文件大小 创建时间或最后修改时间 文件名
- 文件大小:数据块 block 512字节
- 文件类型:
d
:目录directory-
:二进制文件l
:软连接文件link
- 权限管理划分:
r
-read读、w
-write写、x
-execute执行
- 用户划分:
- 所有者
u
- 所属组
g
- 其他人
o
- 所有者
- 文件类型:
d rwx r-x r-x
文件类型 所有者u 所属组g 其他人o
2、cd
(change directory)
- shell内置命令 切换目录
3、pwd
(print working directory)
- /bin/pwd 显示当前所在工作目录
4、touch
(touch)
- /bin/touch 创建空文件
5、mkdir
(make directory)
- /bin/mkdir 创建新目录
6、cp
(copy)
/bin/cp 复制文件或目录
-R
复制目录-p
时间值不变cp -R [源文件目录] [目的目录]
# cp -R /etc /test
# ls /test
etc lost+found new
7、mv
(move)
/bin/mv 移动文件,更名
# ls /test
etc lost+found new
# mv new newfile
# ls /test
etc lost+found newfile
8、rm
(remove)
/bin/rm 删除文件
-r
删除目录
9、cat
(concatenate)
/bin/cat 显示文件内容 适合内容少的
# cat /etc/issue
10、more
/bin/more 分页显示文件内容
- (
空格
)或f
:显示下一页 - (
Enter
):显示下一行 q
或**Q
**:退出
11、head
/bin/head 查看文件的前几行
head -num [文件名]
显示第num行
12、tail
/bin/tail 查看文件的后几行
-num
:显示文件的后num行-f
: 动态显示文件内容
13、ln
(link)
/bin/ln 产生链接文件
-s
创建软连接
eg:创建软连接 windows的快捷方式
# ln -s /etc/issue /test/issue.soft
# ls -l /etc/issue /test/issue.soft
-rw-r--r-- 1 root root 47 2010-04-26 /etc/issue
lrwxrwxrwx 1 root root 10 02-02 13:59 /test/issue.soft -> /etc/issue
创建硬链接 类似于cp+同步更新 cp时间值变,ln时间值不变 与源文件有相同的i节点
# ln /etc/issue /issue.hard
# ls -l /etc/issue /issue.hard
-rw-r--r-- 2 root root 47 2010-04-26 /etc/issue
-rw-r--r-- 2 root root 47 2010-04-26 /issue.hard
软连接可以跨文件系统生成,硬链接不能跨文件系统(分区)
三、权限管理命令
1、chmod
/bin/chmod 改变文件或目录权限
chmod u + r 文件或目录
g - w
o = x
数字代表 r-4 w-2 x-1
- rwxr-xr-- 754
- rw-r-x–x 651
- 752 rwxr-x-w-
-rw-r--r-- 1 root root 0 02-02 14:14 a
# chmod u+x a
-rwxr--r-- 1 root root 0 02-02 14:14 a
# chmod 754 a
-rwxr-xr-- 1 root root 0 02-02 14:14 a
实验1
# mkdir /test/prem
# ls -ld prem
drwxr-xr-x 2 root root 4096 02-02 17:41 prem
# touch /test/prem/newfile
# ls -l /test/prem/newfile
-rw-r--r-- 1 root root 0 02-02 17:42 /test/prem/newfile
# chmod 777 /test/prem/newfile
# ls -ld /test/prem
drwxr-xr-x 2 root root 4096 02-02 17:42 /test/prem
# ls -l /test/prem/newfile
-rwxrwxrwx 1 root root 0 02-02 17:42 /test/prem/newfile
[root@localhost test]# su - wdn123
[wdn123@localhost ~]$ rm /test/prem/newfile
rm: 无法删除 “/test/prem/newfile”: 权限不够
实验2
# ls -ld /test/prem
drwxr-xr-x 2 root root 4096 02-02 17:41 prem
# ls -l /test/prem/newfile
-rwxrwxrwx 1 root root 0 02-02 17:42 /test/prem/newfile
# chmod 777 /test/prem
# chmod 644 /test/prem/newfile
# ls -ld /test/prem
drwxrwxrwx 2 root root 4096 02-02 17:42 /test/prem
# ls -l /test/prem/newfile
-rw-r--r-- 1 root root 0 02-02 17:42 /test/prem/newfile
[root@localhost test]# su - wdn123
[wdn123@localhost ~]$ rm /test/prem/newfile
rm:是否删除有写保护的 一般空文件 “/test/prem/newfile”? y
总结
文件
- r-cat、more、head、tail
- w-echo、vi
- x-命令、脚本
目录
- r-ls
- w-touch、mkdir、rm
- x-cd
2、chown
/bin/chown 改变文件或目录的所有者
chown [用户组] [文件或目录]
3、chgrp
/bin/chgrp 改变文件或目录的所属组
chgrp [用户组] [文件或目录]
# ls -l a
-rwxr-xr-- 1 root root 0 02-02 14:14 a
# chown wdn123 a
# ls -l a
-rwxr-xr-- 1 wdn123 root 0 02-02 14:14 a
# chgrp adm a
# ls -l a
-rwxr-xr-- 1 wdn123 adm 0 02-02 14:14 a
4、umask
/bin/umask 显示,设置文件的缺省权限
-S
以rwx形式显示新建文件或目录缺省权限
# umask -S
u=rwx,g=rx,o=rx
# umask
0022
其中0022
- 0-特殊权限位
- 022-用户权限位,权限掩码值 777-022=755
liunx权限规则:缺省创建的文件不能授予可执行x权限
更改初始权限 750 : umask 027
四、文件搜索命令
1、which/whereis
/usr/bin/which 显示系统命令所在目录
2、find
/usr/bin/find 查找文件或目录
find [搜索路径] [搜索关键字]
-name
根据文件名查找*
匹配任意字符 init*?
匹配单个字符 init???
-size
根据文件大小 block数据块 512字节=0.5KB-user
根据文件所有者- 根据时间查找
- 天 ctime、atime、mtime
- 分钟 cmin、amin、mmin
c
-change改变,表示问价属性被修改过,所有者,所属组,权限a
-access访问,浏览m
-modify修改,表示文件内容被修改过-
之内 ,+
超过 ,find /etc -mmin -120
-type
文件类型f
二进制文件l
软连接文件d
目录
-inum
根据i节点查询- 连接符
-a
and 逻辑与-o
or 逻辑或- -exec : 连接符
find....-ok 命令 {} \;(询问确认)
- find…-exec 命令 {} \;
{}
find查询的结果\
转义符,符号命令使用本身的含义;
结束
eg:# find /etc -name inittab
/etc/inittab
# find /etc -name inittab -exec ls -l {} \;
-rw-r--r-- 1 root root 1666 02-02 03:24 /etc/inittab
3、locate
/usr/bin/locate 寻找文件目录
locate [搜索关键字]
4、updatedb
/usr/bin/updatedb 建立整个系统目录文件的数据库
5、grep
/bin/grep 在文件中搜寻字串匹配的行输出
五、帮助命令
1、**man
**** **(manual)
/usr/bin/man 获得帮助信息
2、**info
**** **(information)
/usr/bin/info 获得帮助信息
3、whatis
/usr/bin/whatis 获得简短的说明信息
apropos
: 相当于 man -kmakewhatis
: 建立whatis和apropos搜索使用的数据库
4、help
查看shell内置命令的帮助
六、解压缩命令
1、gzip
(GUN zip)
/bin/gzip 压缩文件 文件格式:.gz
- 只能压缩文件,不能压缩目录
- 不保留原文件
gunzip gzip (GUN unzip) /bin/gunzip 解压缩.gz的压缩文件
2、**tar
**** **
/bin/tar 打包目录 压缩后文件格式:.tar.gz
tar 选项[cvf] [目录]
-c
产生tar打包文件-v
显示详细信息-f
指定压缩文件名-z
打包同时压缩-x
解包tar文件-z
解压缩
3、zip
/bin/zip 压缩文件或目录 压缩后文件格式: .zip
zip 选项[-r] [压缩后的文件名称] [文件或目录]
-r
压缩目录
unzip
4、bzip2
/usr/bin/bzip2 压缩文件 压缩后文件格式: .bz2
压缩比高
bzip2 选项[-k] [文件]
-k
产生压缩文件,保留原文件
**bunzip2 解压缩 **
bunzip2 选项[-k] [压缩文件]
-k
解压缩保留原文件
七、网络通信命令
1、write
/usr/bin/write 向另外一个用户发送信息,以Ctrl+D结束
write <用户名>
2、wall
/usr/bin/wall 向所有用户广播信息
wall [message] 文件
3、ping
/sur/sbin/ping 测试网络连通性
ping 选项[cs] IP地址
-c
ping的次数-s
改变发送包的大小
4、ifconfig
/usr/sbin/ifconfig 查看网络设置信息
ifconfig -a
八、其他命令
1、关机 shutdown
/usr/sbin/shutdown
shutdown -h now 立即关机
2、重启 reboot
/usr/sbin/rebooy
九、Shell应用技巧
1、bash
- 命令补全
<Tab>
- 命令历史
- clear
ctrl+l
清屏 - ctrl+u 删除光标前所有字符
2、命令别名
命令别名定义:
alias copy=cp
alias xrm="rm -r"
查看别名信息:alias
删除别名:unalias copy
3、输入/输出重定向
Shell对于每个进程预定3个文件描述字(0、1、2)分别对应于:
0
(STDIN)标准输入1
(STDOUT)标准输出2
(STDERR)标准错误输出
输出重定向 >
>>
不显示在屏幕,转到文件或终端
输入重定向 <
不是键盘输入,从文件(。。。)输入
错误输出重定向 2>
2>>
cp -R /usr /test/usr.bak 2> /bak.error
4、管道
管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入
使用方法:命令1|命令2|命令3.....|命令n
# ls -l /etc | more
ls -l /etc | grep init | wc -l
wc -l
统计行数
5、命令连接符
;
: 用;间隔的各命令按顺序依次执行&&
: 前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,他后面的命令才被执行||
: 前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,他后面的命令才被执行
6、命令替换符
命令替换符:将一个命令得输出作为另一个命令的参数
格式:命令1
命令2
(`````````)