一.命名规则
1.除了/外,所有字符都可以用
2.某些特殊字符如空格家族类字符@$%#&*()等容易造成歧义的避免使用
3.\为转义字符
4..开头的文件为隐藏文件
5.区分大小写
二.命令格式
命令 -选项 参数
ls -a /
列出 全部 /目录文件
注:1.当有多个选项时可以连着写
2.选项有两种写法长选项 --all ,短选项 -a,长选项不可以连着写
3. .当前目录, ..上一级目录(父目录), / 根目录
4.选项和参数可以省略,省略选项表示默认选项,省略参数表示当前位置
5.命令分两种管理员(root)命令和所有用户(all users)命令,所在路径为
root: /sbin /usr/sbin
all users: /bin /usr/bin
三.文件处理命令
1.ls list /bin/ls
显示目录文件信息
ls -ald 目录
a:全部文件(包括隐藏文件) l:详细信息 d:查看目录本身信息
注:文件详细信息含义
drwxr-xr-x 2 root root 4096 15-01 23:34 sbin
d: 文件类型 d 目录directory, - 二进制文件,l 软链接文件link,
rwxr-xr-x:文件权限 r 读read, w 写write, x 执行execute
rwx r-x r-x
所有者u 所属组g 其他人o
user group others
2: 硬链接数
两个root: 所有者 所属组
4096: 文件大小 以数据块为单位 通常一数据块=512字节
15-01 23:34:文件创建或修改时间
sbin: 文件名
2.cd change directory shell内置
切换目录
cd 目录
3.pwd print working directory /bin/pwd
显示当前工作目录
pwd
4.touch touch /bin/touch
创建空文件
touch (路径)文件名
5.mkdir make directory /bin/mkdir
创建目录
mkdir (路径)目录名
6.cp copy /bin/cp
复制文件或目录
cp 一个或多个文件 目标目录
cp -R 一个或多个目录 目标目录
-p 使用源文件时间值
7.mv move /bin/mv
移动文件或更改文件名
改名:mv (路径)文件名 (路径)文件名
移动:mv (路径)文件名 (路径)目录
8.rm remove /bin/rm
删除文件或目录
删除文件:rm 文件名
删除目录:rm -r 目录名
注:删除时默认有询问机制如果不需要询问加选项-f
9.cat concatenate and display files /bin/cat
分屏显示文件内容(适合比较小的文件)
cat 文件名
10.more more /bin/more
分页显示文件内容
more 文件名
空格或f 下一页
Enter 下一行
q或Q 退出
11.head head /bin/head
查看文件前几行
head -正整数 文件名
12.tail tail /bin/tail
查看文件后几行
tail -正整数 文件名
-f 动态显示(随着文件更新而更新),默认10行
13.ln link /bin/ln
创建链接文件
ln 源文件名 目标文件名 创建硬链接文件
-s 原文件名 目标文件名 创建软链接文件
-p 使用源文件时间值
注:软链接相当于windows平台的快捷方式
硬链接相当于windows平台的复制+同步更新
ls -i 文件名 显示文件inode(i节点)
硬链接与源文件有相同的inode
软链接可以跨分区,硬链接不可以跨分区
四.权限管理命令
1.chmod change the permissions mode of file /bin/chmod
更改文件或目录权限
u + r 所有者 增加 读
chmod g - w 文件或目录 文件或目录 所属组 减去 写 权限
o = x 其他人 等于 执行
chmod (0-7)三个整数 列如:chmod 744 权限改为:rwxr--r--
注:r=4 w=2 x=1
文件 目录
r 查看文件内容 列出目录内文件
w 修改文件内容 在目录内创建删除文件
x 可以执行文件 可以进入目录
文件:r cat more head tail
w echo vi
x
目录:r ls
w touch mkdir rm mv cp ln
x cd
2.chown change file ownership /bin/chown
改变文件或目录所有者
chown 用户名 文件或目录
注:用户必须为系统中存在的用户
3.chgrp change file group ownership /bin/chgrp
改变文件或目录所属组
chgrp 用户组名 文件或目录
4.umask umask /bin/umask
显示或设置文件缺省权限
umask 显示默认权限掩码值
-S 以rwx显示默认权限
umask (0-7)三个整数 设置默认缺省权限
注:通常默认缺省权限为0022,即默认权限为777-022=755
第一位为特殊权限位,后3位为用户权限位
缺省创建的文件不能授予x权限
五.文件搜索命令
1.which which /usr/bin/which
显示系统命令所在目录和命令的别名
which 命令名
2.whereis /usr/bin/whereis
显示命令和它的帮助文档所在目录
whereis 命令名
3.find find /usr/bin/find
查找文件和目录
find 查找路径 查找关键字
-name 关键字 按文件名查找
find 路径 -size +-整数 按大小查找
-user 所有者名 按所有者查找
-ctime 按时间查找
-atime c change 改变,文件属性修改过
-mtime +整数 a access 访问,文件被访问过
-cmin - m modify 修改,文件内容修改过
-amin time 按天数
-mmin min 按分钟
-type f 二进制文件
l 软链接文件 按类型查找
d 目录
-inum 整数 按i节点查找
注:尽量减少查找范围,节省系统开销
按文件名查找时,*匹配任意字符,?匹配单个字符
查找条件可以合并使用, -a 逻辑与(and), -o逻辑或(or),如:
find / -size +1024 -a -mtime -2
查找根目录内大于1024数据块内容2天内修改过的文件
按大小和时间查找时+表示大于,-表示小于缺省时表示等于给出数值的文件
find连接符:
1)逻辑连接符:-a,-o 多条件查找
find 条件1 逻辑连接符 条件2
2)执行操作连接符:-exec -ok 对匹配查找条件组文件按命令执行操作
find 查找条件组 -exec 命令 {} \; 直接执行命令操作不需要确认
-ok 对命令操作需要确认
4.locate list files in databases /usr/bin/locate
查找包含关键字的文件或目录
locate 关键字
注:本命令按系统文件数据库查找,速度快
对于刚创建的文件可能会查不到,需要先执行updatedb命令(更新数据库)
5.grep grep /usr/bin/grep
在文件中查找与给定字符串匹配的行
grep 字符串 源文件
六.帮助命令
1.man manual /usr/bin/man
获取命令或配置文件帮助信息
man 命令或配置文件
注:帮助信息以more命令形式打开
帮助信息分5种,命令和配置文件同名默认打开命令帮助文档
(1-5)打开相应类型帮助, 1 命令, 5 配置文件
不能有效获得shell内置命令帮助信息
2.info information /usr/bin/info
获得帮助信息,Unix中无此命令
info 任何关键字
3.whatis 命令 命令简单说明
apropos 配置文件 配置文件简短说明
makewhatis 建立whatis和apropos搜索使用的数据库
4.help 命令 查看shell内置命令帮助
5.file 文件名 查看文件类型
七.压缩解压命令
1.gzip GNU zip /bin/gzip
以gz格式压缩文件
gzip 选项 文件
注:只能压缩文件,不能压缩目录.
不保留源文件
gunzip GUN unzip /bin/gunzip
解压gz文件
gunzip 选项 文件
2.tar /bin/tar
打包或解包目录
tar 选项 打包后文件名 目录
-c 打包成.tar格式文件
-x 解包.tar文件
-v 显示详细信息
-f 指定压缩后文件名
-z 打包时压缩为.tar.gz文件,解包时解压缩.tar.gz文件
注:打包时打包后文件命名应包含文件格式,方便文件区分,如
tar -zcf newfile.tar.gz newfile
3.zip /usr/bin/zip
压缩文件或目录
zip 压缩后文件名 文件 压缩文件
zip -r 压缩后文件名 目录 压缩目录
unzip /usr/bin/unzip
解压.zip文件
unzip 压缩文件
4.bzip2 /usr/bin/bzip2
压缩文件成.bz2格式文件
bzip2 选项 文件
-k 保留源文件
注:选项和gzip相同
解压为bunzip2同gunzip只是多了-k(保留源文件)选项
八.网络通信命令
1.write /usr/bin/write
向另一个用户发信息,信息以Ctrl+D结束
write 用户名 Enter
要发送的信息 Enter
要发送的信息 Enter .......
Ctrl+D
注:发送的对象必须登陆在线才能接受信息
2.wall /usr/bin/wall
向所有用户广播信息
wall 信息或文件
3.ping /usr/sbin/ping
测试网络连接
ping 选项 IP地址或网址
-c 数值 定义ping的次数
-s 数值 定义发送数据包的大小
注:没有设置次数会一直ping下去,直到按Ctrl+C终止
4.ifconfig /usr/sbin/ifconfig
查看网络设置信息
ifconfig 选项 网卡设备标识
-a 显示所有网卡信息
注:相当于windows平台的ipconfig
九.系统命令
1.shutdown /usr/sbin/shutdown
shutdown 默认延时关机
-h 时间值 定时关机
-h now 立即关机
2.reboot /usr/sbin/reboot 重启系统
3.date 显示系统时间
十.bash应用技巧
1.命令补齐 Tab
输入命令或文件起始的若干字符,按Tab键可以补齐命令或文件名
2.命令历史 history
history命令可以显示以前执行过的命令列表
按方向键↑和↓也可以查看以前执行过的命令
3.命令别名 alias
alias 查看当前系统所有别名信息
alias 别名=系统命令 定义命令别名,如: alias move=mv
alias 别名="命令 参数" 定义带参数命令别名,如: alias dirrm="rm -r"
删除别名: unalias 别名
4.输入输出重定向
shell对每一个进程预定义3个描述字:
0 STDIN 标准输入 默认键盘
1 stdout 标准输出 默认显示器
2 stderr 标准错误输出 默认显示器
输出重定向: >和>>
命令操作 > 指定接受信息对象 如,
ls /etc > /test/message
将/etc目录中文件的文件名输出到/test/message文件中,如 message文件已经有内容,则替换掉
命令操作 >> 信息接受对象 如,
ls -l ./bin >> /test/bin.msg
原理同上,只是将输出追加到bin.msg文件内容末尾
输出重定向: <
命令操作 < 数据源 如,
write nobody < /test/message
将message文件内容向nobody用户播放
错误输出重定向: 2>
命令操作 2> 指定错误信息接受对象 如,
(错误操作命令) 2> /test/test.error
将错误操作命令的信息输出到test.error文件中
5.管道 |
将一个命令的输出作为另一个命令的输入
命令1|命令2|命令3|......
6.命令连接符 ; && ||
; 间隔各个命令按次序执行
&& 命令1&&命令2,命令1执行成功后才执行命令2
|| 命令1||命令2,命令1执行失败后才执行命令2
7.命令替换符 ``
命令1 `命令2`
将命令2的输出作为命令1的参数
如: ls -l `find /test -name message`
1.除了/外,所有字符都可以用
2.某些特殊字符如空格家族类字符@$%#&*()等容易造成歧义的避免使用
3.\为转义字符
4..开头的文件为隐藏文件
5.区分大小写
二.命令格式
命令 -选项 参数
ls -a /
列出 全部 /目录文件
注:1.当有多个选项时可以连着写
2.选项有两种写法长选项 --all ,短选项 -a,长选项不可以连着写
3. .当前目录, ..上一级目录(父目录), / 根目录
4.选项和参数可以省略,省略选项表示默认选项,省略参数表示当前位置
5.命令分两种管理员(root)命令和所有用户(all users)命令,所在路径为
root: /sbin /usr/sbin
all users: /bin /usr/bin
三.文件处理命令
1.ls list /bin/ls
显示目录文件信息
ls -ald 目录
a:全部文件(包括隐藏文件) l:详细信息 d:查看目录本身信息
注:文件详细信息含义
drwxr-xr-x 2 root root 4096 15-01 23:34 sbin
d: 文件类型 d 目录directory, - 二进制文件,l 软链接文件link,
rwxr-xr-x:文件权限 r 读read, w 写write, x 执行execute
rwx r-x r-x
所有者u 所属组g 其他人o
user group others
2: 硬链接数
两个root: 所有者 所属组
4096: 文件大小 以数据块为单位 通常一数据块=512字节
15-01 23:34:文件创建或修改时间
sbin: 文件名
2.cd change directory shell内置
切换目录
cd 目录
3.pwd print working directory /bin/pwd
显示当前工作目录
pwd
4.touch touch /bin/touch
创建空文件
touch (路径)文件名
5.mkdir make directory /bin/mkdir
创建目录
mkdir (路径)目录名
6.cp copy /bin/cp
复制文件或目录
cp 一个或多个文件 目标目录
cp -R 一个或多个目录 目标目录
-p 使用源文件时间值
7.mv move /bin/mv
移动文件或更改文件名
改名:mv (路径)文件名 (路径)文件名
移动:mv (路径)文件名 (路径)目录
8.rm remove /bin/rm
删除文件或目录
删除文件:rm 文件名
删除目录:rm -r 目录名
注:删除时默认有询问机制如果不需要询问加选项-f
9.cat concatenate and display files /bin/cat
分屏显示文件内容(适合比较小的文件)
cat 文件名
10.more more /bin/more
分页显示文件内容
more 文件名
空格或f 下一页
Enter 下一行
q或Q 退出
11.head head /bin/head
查看文件前几行
head -正整数 文件名
12.tail tail /bin/tail
查看文件后几行
tail -正整数 文件名
-f 动态显示(随着文件更新而更新),默认10行
13.ln link /bin/ln
创建链接文件
ln 源文件名 目标文件名 创建硬链接文件
-s 原文件名 目标文件名 创建软链接文件
-p 使用源文件时间值
注:软链接相当于windows平台的快捷方式
硬链接相当于windows平台的复制+同步更新
ls -i 文件名 显示文件inode(i节点)
硬链接与源文件有相同的inode
软链接可以跨分区,硬链接不可以跨分区
四.权限管理命令
1.chmod change the permissions mode of file /bin/chmod
更改文件或目录权限
u + r 所有者 增加 读
chmod g - w 文件或目录 文件或目录 所属组 减去 写 权限
o = x 其他人 等于 执行
chmod (0-7)三个整数 列如:chmod 744 权限改为:rwxr--r--
注:r=4 w=2 x=1
文件 目录
r 查看文件内容 列出目录内文件
w 修改文件内容 在目录内创建删除文件
x 可以执行文件 可以进入目录
文件:r cat more head tail
w echo vi
x
目录:r ls
w touch mkdir rm mv cp ln
x cd
2.chown change file ownership /bin/chown
改变文件或目录所有者
chown 用户名 文件或目录
注:用户必须为系统中存在的用户
3.chgrp change file group ownership /bin/chgrp
改变文件或目录所属组
chgrp 用户组名 文件或目录
4.umask umask /bin/umask
显示或设置文件缺省权限
umask 显示默认权限掩码值
-S 以rwx显示默认权限
umask (0-7)三个整数 设置默认缺省权限
注:通常默认缺省权限为0022,即默认权限为777-022=755
第一位为特殊权限位,后3位为用户权限位
缺省创建的文件不能授予x权限
五.文件搜索命令
1.which which /usr/bin/which
显示系统命令所在目录和命令的别名
which 命令名
2.whereis /usr/bin/whereis
显示命令和它的帮助文档所在目录
whereis 命令名
3.find find /usr/bin/find
查找文件和目录
find 查找路径 查找关键字
-name 关键字 按文件名查找
find 路径 -size +-整数 按大小查找
-user 所有者名 按所有者查找
-ctime 按时间查找
-atime c change 改变,文件属性修改过
-mtime +整数 a access 访问,文件被访问过
-cmin - m modify 修改,文件内容修改过
-amin time 按天数
-mmin min 按分钟
-type f 二进制文件
l 软链接文件 按类型查找
d 目录
-inum 整数 按i节点查找
注:尽量减少查找范围,节省系统开销
按文件名查找时,*匹配任意字符,?匹配单个字符
查找条件可以合并使用, -a 逻辑与(and), -o逻辑或(or),如:
find / -size +1024 -a -mtime -2
查找根目录内大于1024数据块内容2天内修改过的文件
按大小和时间查找时+表示大于,-表示小于缺省时表示等于给出数值的文件
find连接符:
1)逻辑连接符:-a,-o 多条件查找
find 条件1 逻辑连接符 条件2
2)执行操作连接符:-exec -ok 对匹配查找条件组文件按命令执行操作
find 查找条件组 -exec 命令 {} \; 直接执行命令操作不需要确认
-ok 对命令操作需要确认
4.locate list files in databases /usr/bin/locate
查找包含关键字的文件或目录
locate 关键字
注:本命令按系统文件数据库查找,速度快
对于刚创建的文件可能会查不到,需要先执行updatedb命令(更新数据库)
5.grep grep /usr/bin/grep
在文件中查找与给定字符串匹配的行
grep 字符串 源文件
六.帮助命令
1.man manual /usr/bin/man
获取命令或配置文件帮助信息
man 命令或配置文件
注:帮助信息以more命令形式打开
帮助信息分5种,命令和配置文件同名默认打开命令帮助文档
(1-5)打开相应类型帮助, 1 命令, 5 配置文件
不能有效获得shell内置命令帮助信息
2.info information /usr/bin/info
获得帮助信息,Unix中无此命令
info 任何关键字
3.whatis 命令 命令简单说明
apropos 配置文件 配置文件简短说明
makewhatis 建立whatis和apropos搜索使用的数据库
4.help 命令 查看shell内置命令帮助
5.file 文件名 查看文件类型
七.压缩解压命令
1.gzip GNU zip /bin/gzip
以gz格式压缩文件
gzip 选项 文件
注:只能压缩文件,不能压缩目录.
不保留源文件
gunzip GUN unzip /bin/gunzip
解压gz文件
gunzip 选项 文件
2.tar /bin/tar
打包或解包目录
tar 选项 打包后文件名 目录
-c 打包成.tar格式文件
-x 解包.tar文件
-v 显示详细信息
-f 指定压缩后文件名
-z 打包时压缩为.tar.gz文件,解包时解压缩.tar.gz文件
注:打包时打包后文件命名应包含文件格式,方便文件区分,如
tar -zcf newfile.tar.gz newfile
3.zip /usr/bin/zip
压缩文件或目录
zip 压缩后文件名 文件 压缩文件
zip -r 压缩后文件名 目录 压缩目录
unzip /usr/bin/unzip
解压.zip文件
unzip 压缩文件
4.bzip2 /usr/bin/bzip2
压缩文件成.bz2格式文件
bzip2 选项 文件
-k 保留源文件
注:选项和gzip相同
解压为bunzip2同gunzip只是多了-k(保留源文件)选项
八.网络通信命令
1.write /usr/bin/write
向另一个用户发信息,信息以Ctrl+D结束
write 用户名 Enter
要发送的信息 Enter
要发送的信息 Enter .......
Ctrl+D
注:发送的对象必须登陆在线才能接受信息
2.wall /usr/bin/wall
向所有用户广播信息
wall 信息或文件
3.ping /usr/sbin/ping
测试网络连接
ping 选项 IP地址或网址
-c 数值 定义ping的次数
-s 数值 定义发送数据包的大小
注:没有设置次数会一直ping下去,直到按Ctrl+C终止
4.ifconfig /usr/sbin/ifconfig
查看网络设置信息
ifconfig 选项 网卡设备标识
-a 显示所有网卡信息
注:相当于windows平台的ipconfig
九.系统命令
1.shutdown /usr/sbin/shutdown
shutdown 默认延时关机
-h 时间值 定时关机
-h now 立即关机
2.reboot /usr/sbin/reboot 重启系统
3.date 显示系统时间
十.bash应用技巧
1.命令补齐 Tab
输入命令或文件起始的若干字符,按Tab键可以补齐命令或文件名
2.命令历史 history
history命令可以显示以前执行过的命令列表
按方向键↑和↓也可以查看以前执行过的命令
3.命令别名 alias
alias 查看当前系统所有别名信息
alias 别名=系统命令 定义命令别名,如: alias move=mv
alias 别名="命令 参数" 定义带参数命令别名,如: alias dirrm="rm -r"
删除别名: unalias 别名
4.输入输出重定向
shell对每一个进程预定义3个描述字:
0 STDIN 标准输入 默认键盘
1 stdout 标准输出 默认显示器
2 stderr 标准错误输出 默认显示器
输出重定向: >和>>
命令操作 > 指定接受信息对象 如,
ls /etc > /test/message
将/etc目录中文件的文件名输出到/test/message文件中,如 message文件已经有内容,则替换掉
命令操作 >> 信息接受对象 如,
ls -l ./bin >> /test/bin.msg
原理同上,只是将输出追加到bin.msg文件内容末尾
输出重定向: <
命令操作 < 数据源 如,
write nobody < /test/message
将message文件内容向nobody用户播放
错误输出重定向: 2>
命令操作 2> 指定错误信息接受对象 如,
(错误操作命令) 2> /test/test.error
将错误操作命令的信息输出到test.error文件中
5.管道 |
将一个命令的输出作为另一个命令的输入
命令1|命令2|命令3|......
6.命令连接符 ; && ||
; 间隔各个命令按次序执行
&& 命令1&&命令2,命令1执行成功后才执行命令2
|| 命令1||命令2,命令1执行失败后才执行命令2
7.命令替换符 ``
命令1 `命令2`
将命令2的输出作为命令1的参数
如: ls -l `find /test -name message`