正文
4.1 文件处理命令
4.1.1 命令格式与目录处理命令ls
命令格式 :命令 [-选项] [参数]
例 : ls -la /etc
说明:
- 个别命令使用不遵循此格式
- 当有多个选项时,可以写在一起
- 简化选项与完整选项
-a 等于 --all
4.1.2 目录处理命令
目录处理命令:ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
-a 显示所有文件,包括隐藏文件 all
-l 详细信息显示 long
-d 查看目录属性 directory
-h 人性化显示 human
-i 节点号 inode
ls -l
-rw-r--r--
文件类型(-
文件 d
目录 l
软链接文件)
rw- r-- r--
u g o
u所有者 g所属组 o其他人
r读 w写 x执行
ls -ld /etc
ls -i
目录处理命令:mkdir
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir -p [目录名]
功能描述:创建新目录
-p 递归创建
范例:
$ mkdir -p /tmp/Japan/boduo
$ mkdir /tmp/Japan/longze /tmp/Japan/cangjing
目录处理命令:cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
范例:
$ cd /tmp/Japan/boduo 切换到指定目录
$ cd .. 回到上一级目录
目录处理命令:pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录
范例:
$ pwd
/tmp/Japan
文件处理命令:rmdir
命令名称:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir [目录名]
功能描述: 删除空目录
范例:
$ rmdir /tmp/Japan/boduo
目录处理命令:cp
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -rp [原文件或目录] [目标目录]
-r 复制目录
-p 保留文件属性
功能描述:复制文件或目录
范例:
将目录/tmp/Japan/cangjing复制到目录/root下
$ cp -r /tmp/Japan/cangjing /root
将/tmp/Japan目录下的boduo和longze目录复制到 /root下,保持目录属性
$ cp -rp /tmp/Japan/boduo /tmp/Japan/longze /root
目录处理命令:mv
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [原文件或目录] [目标目录]
功能描述:剪切文件、改名
目录处理命令:rm
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm -rf [文件或目录]
-r 删除目录
-f 强制执行
功能描述:删除文件
范例:
删除文件 /tmp/yum.log
$ rm /tmp/yum.log
删除目录 /tmp/Japan/longze
$ rm -rf /tmp/Japan/longze
4.1.3 文件处理命令
文件处理命令:touch
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
范例:
$ touch Japanlovestory.list
文件处理命令:cat
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
-n 显示行号 number
范例:
$ cat /etc/issue
$ cat -n /etc/services
文件处理命令:tac
命令名称:tac
命令所在路径:/usr/bin/tac
执行权限:所有用户
语法:tac [文件名]
功能描述:显示文件内容(反向列示)
范例:
$ tac /etc/issue
文件处理命令:more
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]
(空格) 或f 翻页
(Enter) 换行
q或Q 退出
功能描述:分页显示文件内容
范例:
$ more /etc/services
文件处理命令:less
命令名称:less
命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less [文件名]
功能描述:分页显示文件内容(可向上翻页,还可使用/
搜索关键字)
范例:
$ less /etc/services
文件处理命令:head
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
语法:head [文件名]
功能描述:显示文件前面几行
-n 指定行数
范例:
$ head -n 20 /etc/services
文件处理命令:tail
命令名称:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail [文件名]
功能描述:显示文件后面几行
-n 指定行数
-f 动态显示文件末尾内容
范例:
$ tail -n 18 /etc/services
4.1.4 链接命令
文件处理命令:ln
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [原文件] [目标文件]
-s 创建软链接
功能描述:生成链接文件
范例:
创建文件/etc/issue的软链接/tmp/issue.soft
$ ln -s /etc/issue /tmp/issue.soft
创建文件/etc/issue的硬链接/tmp/issue.hard
$ ln /etc/issue /tmp/issue.hard
软链接特征:类似Windows快捷方式
1、lrwxrwxrwx l 软链接
软链接文件权限都为rwxrwxrwx
2、文件大小-只是符号链接
3、/tmp/issue.soft -> /etc/issue
箭头指向原文件
硬链接特征:
1、拷贝cp -p + 同步更新
echo "this is a test" >> /etc/motd
2、可通过i节点识别
3、不能跨分区
4、不能针对目录使用
4.2 权限管理命令
4.2.1 权限管理命令chmod
权限管理命令:chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]
[mode=421 ] [文件或目录]
-R 递归修改
功能描述:改变文件或目录权限
权限的数字表示
r ---- 4
w ---- 2
x ---- 1
rwxrw-r--
7 6 4
范例:
赋予文件testfile所属组写权限
$ chmod g+w testfile
修改目录testfile及其目录下文件为所有用户具有全部权限
$ chmod -R 777 testdir
文件目录权限总结
代表字符 | 权限 | 对文件的含义 | 对目录的含义 |
---|---|---|---|
r | 读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 写权限 | 可以修改文件内容 | 可以在目录中创建、删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
4.2.2 其他权限管理命令
权限管理命令:chown
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
功能描述:改变文件或目录的所有者
范例:
改变文件fengjie的所有者为shenchao
$ chown shenchao fengjie
权限管理命令:chgrp
命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
功能描述:改变文件或目录的所属组
范例:
改变文件fengjie的所属组为lampbrother
$ chgrp lampbrother fengjie
权限管理命令:umask
命令名称:umask
命令英文原意:the user file-creation mask
命令所在路径:Shell内置命令
执行权限:所有用户
语法:umask [-S]
-S 以rwx形式显示新建文件缺省权限
功能描述:显示、设置文件的缺省权限
范例:
查看
$ umask -S
u=rwx,g=rx,o=rx
文件默认没有x执行权限
umask
0022
0 特殊权限
022 --- -w- -w-
777 rwx rwx rwx
022 --- -w- -w-
755 rwx r-x r-x 目录
rw- r-- r-- 文件
修改
umask 077
777 rwx rwx rwx
077 --- rwx rwx
700 rwx --- --- 目录
rw- --- --- 文件
4.3 文件搜索命令
4.3.1 文件搜索命令find
文件搜索命令:find
命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
语法:find [搜索范围] [匹配条件]
功能描述:文件搜索
在目录/etc中查找文件init
find /etc -name init
-iname 不区分大小写
* 任意字符
? 单个字符
find /etc -name *init*
find /etc -name init???
find /etc -iname init
在根目录下查找大于100MB的文件 (1数据块 = 512字节 = 0.5k , 100MB = 102400KB = 204800)
$ find / -size +204800
+n 大于 -n 小于 n 等于
在根目录下查找所有者为shenchao的文件
$ find /home -user shenchao
-group 根据所属组查找
在/etc下查找5分钟内被修改过属性的文件和目录
$ find /etc -cmin -5
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify
在/etc下查找大于80MB小于100MB的文件
$ find /etc -size +163840 -a -size -204800
-a 两个条件同时满足
-o 两个条件满足任意一个即可
在/etc下查找inittab文件并显示其详细信息
$ find /etc -name inittab -exec ls -l {} \;
-exec/-ok 命令 {} \;
对搜索结果执行操作
$ find /etc -size +163840 -a -type f
-type 根据文件类型查找
f 文件 d 目录 l 软链接文件
find . -inum 31531 -exec rm {} \;
-inum 根据i节点查找
windows的搜索工具:Everything
4.3.2 其他搜索命令
文件搜索命令:locate
命令名称:locate
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件
范例:
$ locate inittab
更新文件资料库
updatedb
$ locate -i cang
文件搜索命令:which
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which 命令
功能描述:搜索命令所在目录及别名信息
范例:
$ which ls
文件搜索命令:whereis
命令名称:whereis
命令所在路径:/usr/bin/whereis
执行权限:所有用户
语法:whereis [命令名称]
功能描述:搜索命令所在目录及帮助文档路径
范例:
$ whereis ls
文件搜索命令:grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv [指定字串] [文件]
功能描述:在文件中搜寻字串匹配的行并输出
-i 不区分大小写
-v 排除指定字串
范例:
grep mysql /root/install.log
grep -i multiuser /etc/inittab
grep -v ^# /etc/inittab
4.4 帮助命令
帮助命令:man
命令名称:man
命令英文原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法:man [命令或配置文件]
功能描述:获得帮助信息
范例:
查看ls命令的帮助信息
$ man ls
/-l
n
查看配置文件services的帮助信息
$ man services
帮助命令:help
命令名称:help
命令所在路径:Shell内置命令
执行权限:所有用户
语法:help 命令
功能描述:获得Shell内置命令的帮助信息
范例:
查看umask命令的帮助信息
$ help umask
其他帮助命令
whatis ls
ls --help
info ls
apropos 配置文件
4.5 用户管理命令
用户管理命令:useradd
命令名称:useradd
命令所在路径:/usr/sbin/useradd
执行权限:root
语法:useradd 用户名
功能描述:添加新用户
范例:
$ useradd yangmi
用户管理命令:passwd
命令名称:passwd
命令所在路径:/usr/bin/passwd
执行权限:所有用户
语法:passwd 用户名
功能描述:设置用户密码
范例:
$ passwd yangmi
用户管理命令:who
命令名称:who
命令所在路径:/usr/bin/who
执行权限:所有用户
语法:who
功能描述:查看登录用户信息
范例:
$ who
vagrant pts/0 2021-04-02 13:29 (10.0.2.2)
tty 本地登录的
pts 远程终端登录的
用户管理命令:w
命令名称:w
命令所在路径:/usr/bin/w
执行权限:所有用户
语法:w
功能描述:查看登录用户详细信息
范例:
$ w
13:49:05 up 20 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
vagrant pts/0 10.0.2.2 13:29 0.00s 0.21s 0.05s sshd: vagrant [priv]
4.6 压缩解压命令
压缩命令:gzip
命令名称:gzip
命令英文原意:GNU zip
命令所在路径:/bin/gzip
执行权限:所有用户
语法:gzip [文件]
功能描述:压缩文件,只能压缩文件,不能压缩目录,压缩完会删除原文件
压缩后文件格式:.gz
解压命令:gunzip
命令名称:gunzip
命令英文原意:GNU unzip
命令所在路径:/bin/gunzip
执行权限:所有用户
语法:gunzip [压缩文件]
功能描述:解压缩.gz的压缩文件
范例:
$ gunzip boduo.gz
压缩解压命令:tar
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
语法:tar 选项[-zcf] [压缩后文件名] [目录]
-c 打包
-v 显示详细信息,查看打包的文件有哪些
-f 指定文件名
-z 打包同时压缩
功能描述:打包目录,打包的同时可以选择压缩
压缩后文件格式:.tar.gz
范例:
将目录Japan打包并压缩为.tar.gz文件
$ tar -zcf Japan.tar.gz Japan
tar命令解压缩语法:
-x 解包
-v 显示详细信息
-f 指定解压文件
-z 解压缩
范例:
$ tar -zxvf Japan.tar.gz
压缩命令:zip
命令名称:zip
命令所在路径:/usr/bin/zip
执行权限:所有用户
语法: zip 选项[-r] [压缩后文件名] [文件或目录]
-r 压缩目录
功能描述:压缩文件或目录,对比gzip压缩完能保留原文件,windows和linux都支持
压缩后文件格式:.zip
范例:
压缩文件
$ zip buduo.zip boduo
压缩目录
$ zip -r Japan.zip Japan
解压命令:unzip
命令名称:unzip
命令所在路径:/usr/bin/unzip
执行权限:所有用户
语法:unzip [压缩文件]
功能描述:解压.zip的压缩文件
范例:
$ unzip test.zip
压缩命令:bzip2
命令名称:bzip2
命令所在路径:/usr/bin/bzip2
执行权限:所有用户
语法: bzip2 选项 [-k] [文件]
-k 产生压缩文件后保留原文件
功能描述:压缩文件,gzip的升级格式,压缩完保留原文件
压缩后文件格式:.bz2
范例:
$ bzip2 -k boduo
$ tar -cjf Japan.tar.bz2 Japan
压缩解压命令:bunzip2
命令名称:bunzip2
命令所在路径:/usr/bin/bunzip2
执行权限:所有用户
语法: bunzip2 选项 [-k] [压缩文件]
-k 解压缩后保留原文件
功能描述:解压缩
范例:
$ bunzip2 -k boduo.bz2
$ tar -xjf Japan.tar.bz2
4.7 网络命令
网络命令:write
指令名称:write
指令所在路径:/usr/bin/write
执行权限:所有用户
语法:write <用户名>
功能描述:给用户发信息,以Ctrl+D保存结束
范例:
write linzhiling
网络命令:wall
指令名称:wall
命令英文原意:write all
指令所在路径:/usr/bin/wall
执行权限:所有用户
语法:wall [message]
功能描述:发广播信息,给当前在线的所有用户,包括自己
范例:
wall ShenChao is a honest man!
网络命令:ping
命令名称:ping
命令所在路径:/bin/ping
执行权限:所有用户
语法:ping 选项 IP地址
-c 指定发送次数
功能描述:测试网络连通性
范例:
ping 192.168.1.156
ping -c 4 192.168.1.156
网络命令:ifconfig
命令名称:ifconfig
命令英文原意:interface configure
命令所在路径:/sbin/ifconfig
执行权限:root
语法:ifconfig 网卡名称 IP地址
功能描述:查看和设置网卡信息
范例:
查看网卡信息
ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:20:20:F4
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe20:20f4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:479 errors:0 dropped:0 overruns:0 frame:0
TX packets:306 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51836 (50.6 KiB) TX bytes:45405 (44.3 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
lo 回环网卡 127.0.0.1
设置网卡地址
ifconfig eth0 192.168.8.250
网络命令:mail
命令名称:mail
命令所在路径:/bin/mail
执行权限:所有用户
语法:mail [用户名]
功能描述:查看、发送电子邮件,ctrl + d 发送
范例:
mail root
接受邮件:
1
h
d 1
q
网络命令:last
命令名称:last
命令所在路径:/usr/bin/last
执行权限:所有用户
语法:last
功能描述:列出目前与过去登入系统的用户信息
范例:
last
网络命令:lastlog
命令名称:lastlog
命令所在路径:/usr/bin/lastlog
执行权限:所有用户
语法:lastlog
功能描述:检查某特定用户上次登录的时间
范例:
lastlog
Username Port From Latest
root **Never logged in**
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
sync **Never logged in**
shutdown **Never logged in**
halt **Never logged in**
mail **Never logged in**
uucp **Never logged in**
operator **Never logged in**
games **Never logged in**
gopher **Never logged in**
ftp **Never logged in**
nobody **Never logged in**
vcsa **Never logged in**
saslauth **Never logged in**
postfix **Never logged in**
sshd **Never logged in**
vagrant pts/0 10.0.2.2 Sat Apr 3 03:48:06 +0100 2021
vboxadd **Never logged in**
apache **Never logged in**
nginx **Never logged in**
mysql **Never logged in**
查看指定用户登录记录:
lastlog -u mysql
网络命令:traceroute
命令名称:traceroute
命令所在路径:/bin/traceroute
执行权限:所有用户
语法:traceroute
功能描述:显示数据包到主机间的路径
范例:
traceroute www.lampbrother.net
网络命令:netstat
命令名称:netstat
命令所在路径:/bin/netstat
执行权限:所有用户
语法:netstat [选项]
功能描述:显示网络相关信息
选项:
-t : TCP协议
-u : UDP协议
-l : 监听
-r : 路由
-n : 显示IP地址和端口号
范例:
查看本机监听的端口
netstat -tlun
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::3306 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
查看本机所有的网络连接
netstat -an
查看本机路由表
netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
网络命令:setup
命令名称:setup
命令所在路径:/usr/bin/setup
执行权限:root
语法:setup
功能描述:配置网络,redhat系列自带,和ifconfig一样,不过永久生效
范例:
setup
service network restart
4.8 关机重启命令
1、shutdown命令
[root@localhost ~]# shutdown [选项] 时间
选项:
-c: 取消前一个关机命令
-h: 关机
-r: 重启
shutdown -r now
先关闭服务,再关机
2、其他关机命令
[root@localhost ~]# halt
[root@localhost ~]# poweroff
[root@localhost ~]# init 0
3、其他重启命令
[root@localhost ~]# reboot
[root@localhost ~]# init 6
4、系统运行级别
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
修改系统默认运行级别
[root@localhost ~]# cat /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
查询系统运行级别
[root@localhost ~]# runlevel
N 3
5、退出登录命令
[root@localhost ~]# logout