#Linux常用命令
0、Linux的引导过程
系统加电以后,首先进行硬件自检,然后是bootloader对系统的初始化,加载内核。内核被加载到内存中后,就开始执行了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂载根文件系统,内核挂载了根文件系统,并已初始化所有的设备驱动程序和数据结构后,就通过启动一个叫init的用户级程序,完成引导进程。
init进程是系统启动后的第一个用户进程,所以它的pid始终为1。init进程上来首先做的事是去读取/etc/inittab文件中的initdefault id的值,这个值称为默认运行级别,它决定了系统刚启动是出于什么级别。不同级别具有不同的功能。
加电->硬件自检->bootloader初始化,加载内核->内核挂载文件系统,初始化设备驱动->启动init->完成引导
不同的运行级定义如下:
- 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)
- 1 - 单用户模式
- 2 - 多用户,没有 NFS
- 3 - 完全多用户模式(标准的运行级)
- 4 – 系统保留的
- 5 - X11 (x window)
- 6 - 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )
1、命令基本格式
[root@localhost ~]#
[账户@主机名 当前所在位置]
# 表示登陆用户为管理员
普通用户的命令提示符为$
~ 家目录,登陆后的初始位置
管理员的家目录在/root下
普通用户的家目录在/home/${username}
命令格式
命令 [-选项] [参数]
选项: 调整功能
参数: 命令的对象
ls -la /etc
注意:
- 大多数命令都是这个格式,但不排除有个别特殊命令不遵循这个格式
- 当有多个选项时,可以连写
- 可以简写,例如-a等于–all
2、 目录处理命令
2.1 目录文件查看命令ls
ls [-选项] [文件或目录]
英文原意: list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述: 显示目录文件
选项:
- -a 显示所有文件,包括隐藏文件(以.开头,隐藏文件并不是为了真的藏起来,而是系统文件隐藏自己防止误操作,要隐藏只需改名)
- -l 显示详细信息,long长格式
- -d 查看目录属性,查看目录本身,而不看该目录下面的子文件
- -h 人性化显示文件大小,human,所有文件大小的都支持-h参数
- -i 显示inode,每个文件都有一个id号,系统查找的时候,就是通过这个id号来判断
ll结果分析
-rwxr–r–
含义:- - 第一位,代表文件类型,(-文件,d目录,l软链接文件),Linux中不是靠扩展名来区分文件的,Linux中没有扩展名这个概念,文件类型只有7种(常见的如上述三种),相比下windows中的扩展名则有数不清多种,如.doc .ppt .exe .txt
- r 读 w 写 x 执行
- 三组分别代表u所有者 g所属组 o其他人
之后的1代表,引用计数的个数,
root root 代表所有者和所属组
文件的大小
文件的最后修改时间
文件名
ls -d 只看目录的信息,不看目录下的
2.2 建立目录mkdir
mkdir -p [目录名]
英文原意: make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
功能描述: 建立目录
选项:
- -p 递归创建,即可以创建多层不存在的目录
注意: 可以一次创建多个没有关系的目录,中间用空格分开
mkdir /tmp/a /tmp/b
2.3 切换目录 cd
cd [目录]
英文原意: change directory
命令所在路径:Shell内置命令
执行权限:所有用户
功能描述: 切换目录
选项:无
常用命令:
- cd ~ 回到家目录
- cd - 进入上次目录,多次执行
- cd . 进入当前目录
- cd .. 进入上级目录
2.4 显示当前所在目录 pwd
pwd
英文原意: print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
功能描述: 显示当前所在目录
选项:无
常用命令:无
2.5 删除空目录 rmdir
rmdir [目录名]
英文原意: remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
功能描述: 删除空目录
选项:无
常用命令:只能删除空目录,故不常用,常用下一条命令
2.6 删除文件或目录 rm
rm [目录名]
英文原意: remove
命令所在路径:/bin/rm
执行权限:所有用户
功能描述: 删除空目录
选项:
- -r 删除目录,recursive 递归
- -f 强制删除,不提示
Linux图形界面有回收站,但是纯命令模式下,没有回收站,删了就真没有了
2.7 复制文件或目录 cp
cp [选项] [原文件或目录(可以多个)] [目标目录]
英文原意: copy
命令所在路径:/bin/cp
执行权限:所有用户
功能描述: 复制文件或目录
选项:
- -r 复制目录
- -p 连带文件属性复制,默认复制过去的文件的时间是执行复制动作的时间,使用这个参数后时间也复制过去了
- -d 若源文件是链接文件,则复制链接属性
- -a 相当于-pdr
可以一次复制多个文件到最后的目标位置cp a b /tmp
复制的过程可以改名
若目标为目录,则原文件名复制,若目标为目录下的文件名,则复制过去并改名
2.8 文件或目录剪切或改名 mv
mv [原文件或目录] [目标目录]
英文原意: move
命令所在路径:/bin/mv
执行权限:所有用户
功能描述: 文件或目录剪切或改名
选项:
如果原文件和目标文件不在一个目录下就是剪切,如果在一个目录下,就是改名
2.9 df/du
df 统计文件系统的使用情况
如果用ls 来看出目录的大小,它只能统计出目录下一级子目录和子文件名所占空间的大小
而如果要统计子目录和子文件的占用空间,du命令
df看到的是真实占用的空间,用来看磁盘剩余空间
du用来看纯粹文件的占用空间
2.10 Linux常用目录的作用
这部分参考这里
* / 根目录
* /bin 命令保存目录,普通用户就可以读取的命令。根目录下的bin和sbin,/usr下的bin和sbin,这4个目录都是用来保存系统命令的。区别是2个sbin目录只有root用户能执行。
* /usr 系统软件资源目录
* /var 系统相关文档内容
* /boot 启动目录,启动相关文件
* /dev 设备文件保存目录
* /etc 配置文件保存目录
* /home 普通用户的家目录
* /root 超级用户的家目录
* /lib 系统函数库保存目录,并不是把所有的功能都写到了系统中,而是把部分功能写成了一个个的库
* /mnt 系统挂载目录,三个空目录作为外接存储设备的盘符,mnt挂载优盘
* /media 挂载目录,挂载光盘
* /misc 挂载目录,挂载磁盘
* /proc /sys 这两个目录保存的是内存的挂载点,内存的盘符,不能直接操作
* /tmp 临时目录,临时数据可以放在这里
文件请遵循规范存放,可以在家目录和tmp目录下随便存放。
/etc/init.d中存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本。执行这些脚本可以用来启动、停止、重启这些服务。系统启动的时候拿到init级别后执行,根据/etc/rc.d/rc{运行级别}.d目录下的脚本链接来执行。
3、文件处理命令
3.1 创建空文件命令touch
touch [文件名]
英文原意: touch
命令所在路径:/bin/touch
执行权限:所有用户
功能描述:创建空文件
选项:无
可以一次touch多个文件, touch cool wubo
3.2 查看文件内容命令cat
cat [文件名]
英文原意:
命令所在路径:/bin/cat
执行权限:所有用户
功能描述:查看文件内容
选项:
- -n 显示行号
一次性的翻过所有的文件内容,所以不适合查看长文件
3.3 倒序查看文件内容命令tac
tac [文件名]
英文原意:
命令所在路径:/usr/bin/tac
执行权限:所有用户
功能描述:倒序查看文件内容
选项:不支持-n
3.4 分页查看文件内容命令more
more [文件名]
英文原意:
命令所在路径:/bin/more
执行权限:所有用户
功能描述:分页显示文件内容,缺点,不能往回翻页
命令:
- 空格或f 翻页
- enter 换行
- q或Q 退出
3.4 分页查看文件内容命令less
less [文件名]
英文原意:
命令所在路径:/usr/bin/less
执行权限:所有用户
功能描述:分页显示文件内容,可向上翻页
命令:
- 空格或f 翻页
- enter 换行
- q或Q 退出
- 上下箭头可用 y可向上翻页
可以使用/keyword进行查找,n(next)跳到下一个
3.4 查看文件前几行命令head
head [文件名]
英文原意:
命令所在路径:/usr/bin/head
执行权限:所有用户
功能描述:查看文件前几行
选项:
- -n 指定行数
3.5 查看文件后几行命令tail
tail [文件名]
英文原意:
命令所在路径:/usr/bin/tail
执行权限:所有用户
功能描述:查看文件后几行
选项:
- -n 指定行数
- -f 动态显示文件末尾内容
tail命令是按照要求将指定文件的最后部分输出,如果该文档有更新,则tail会自动刷新,确保你看到的是最新的内容。
tail -f filename
说明:监视filename文件的尾部内容(默认10行,相当于添加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
3.6 链接命令ln
ln [原文件] [目标文件]
英文原意: link
命令所在路径:/bin/ln
执行权限:所有用户
功能描述:创建链接文件
选项:
- -s 创建软链接,类似于快捷方式
- 不使用参数-s,默认为创建硬链接
推荐: 创建的软链接以.soft结尾,创建的硬链接以.hard结尾
软链接的特征:
- 类似windows的快捷方式,可以对等理解
- 软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点,并没有实际的文件数据
- lrwxrwxrwx,l标明了自己的身份为软链接,软链接的权限均为rwxrwxrwx,因为她的权限和文件的权限无关
- 文件名会有->的指向标记
- 软链接的文件大小-只是符号链接的大小,不代表文件的大小
- 修改任意一个文件,另一个都跟着变
- 删除原文件,软链接不可用
注意,软链接的原文件如果是相对路径,必须和目标文件在同一个文件下面,否则会找不到,所以软链接的原文件最好写绝对路径
硬链接的特征:
- 等同于cp -p + 同步更新
- 拥有相同的i节点和存储block块,可以看做是同一个文件。
- 可通过i节点识别
- 不能跨分区
- 不能针对目录使用,只有文件可以创建硬链接
实例:
ln /root/a.cfg /tmp/b.cfg.hard
ll命令查看,这两个文件的信息完全一样,变化的地方仅是,引用计数都加了1
现在我们修改a.cfg文件,会发现b.cfg.hard的内容同步变化了
我们删除a.cfg,b.cfg.hard仍然可以正常使用,引用计数会减一
ls -i /root/a.cfg /tmp/b.cfg.hard
可以看出,二者的i节点号是一样的,可以从这里识别他们俩,也只能从这里识别他们
不建议使用硬链接,除了可以通过i节点识别外,我们很难发现它是不是硬链接,而且硬链接的限制很多,不能跨分区,不能针对目录
补充分区方面的知识:
分区是将一个物理磁盘分为逻辑上的几部分,方便管理和使用,分区分为主分区和逻辑分区,主分区只能有4个,序号1、2、3、4,为了能更多的分区,我们可以将主分区中的一个或多个变为扩展分区,扩展分区中建立多个逻辑分区,1234只能给主分区使用,逻辑分区要从5开始编号。
分区主要做两件事:
- 一是划分block存储块
- 二是创建分区表
有了分区后,还需要格式化才能用,柜子中打入大小相等的小隔断,再做上目录指引。
查找文件时,先去分区表中查找文件所在的具体的block块,然后再访问block块。硬链接,即两个不同的名字,但都指向相同的分区表的字段,再指向相同的block存储空间。如果我们删掉其中的一个名字,则文件还可以通过另外一个名字正常打开。所以,硬链接可以理解为一个教室有两个不同的门,都可以正常访问。
2、权限命令
2.1 chmod
change the permissions mode of a file
改变文件或目录权限
chmod [{ugoa}{+-=}{rwx}] [文件或目录]
[mode=421 ] [文件或目录]
-R 递归修改
不加-r,改目录时,只改目录的权限,下面文件的权限不会跟着改
如果我想将这个目录下所有的子目录的权限都一起更改,则使用-R(大写)
root和文件的所有者都能改变文件的权限
范例:
chmod g+w testfile 赋予文件testfile所属组写权限
chmod -R 777 testdir 修改目录testfile**及其目录下文件为所有用户**具有全部权限
字符 | 对文件的意义 | 对目录的意义 |
---|---|---|
r | 可以查看文件内容 | 可以列出目录中的内容 |
w | 可以修改文件内容 | 可以在目录中创建、删除文件 |
x | 可以执行文件 | 可以进入目录 |
目录的rx权限一般都是成对存在,不会出现只有一方的情况
如果一个用户对一个文件有777的权限,但是对外面的目录没有访问权限,也是白搭
如果一个目录中有个文件,他的权限是700,则其他用户是没有改写这个文件的权限的,但是如果我们把这个文件的上层目录的权限改为777,则普通用户也可以删除这个700的文件。
对一个文件删除的条件是对这个文件有写权限,这是错的
对一个文件有写权限,是可以修改文件的内容
2.2 chown
change file ownership
改变文件或目录的所有者
chown [用户] [文件或目录]
范例:
chown shenchao fengjie
改变文件fengjie的所有者为shenchao
chown改变文件的所有者,只有管理员root可以执行这个操作
即便是文件的所有者,你也不能改变文件的所有者,管理员root可以执行这个操作
比如说一个文件原来的操作者是a,现在a不做这个工作了,改为b
2.3 chgrp
change file group ownership
改变文件或目录的所属组
chgrp [用户组] [文件或目录]
范例:
chgrp lampbrother fengjie
改变文件fengjie的所属组为lampbrother
chgrp改变文件的所属组
可以把很多用户放到一个组中,然后给这个组对某个文件赋予特定的权限
一个文件的所有者和所属组是哪来的?
谁创建的文件,文件的所有者就是谁,文件的所属组是创建用户的缺省组
每个用户都有缺省组,缺省组只能有一个
2.4 umask
the user file-creation mask
显示、设置文件的缺省权限
umask [-S]
-S 以rwx形式显示新建文件缺省权限
umask -s显示所有新建文件的缺省权限,更改后,则以后创建文件的权限即为设置的权限
执行结果:
u=rwx, g=rx, o=rx
目录的默认权限
drwxr-xr-x
文件的默认权限
-rw-r–r–
文件默认不会有x权限,umask的结果要去掉x
并不建议修改umask
2、文件搜索命令
windows上有个everything搜索软件非常好用
搜索占用大量的资源,在服务器高峰阶段不建议搜索,我们应该更科学的规划目录,减少搜索的使用,搜索的范围越小越好,条件越精准越好。
2.1 文件搜索命令 locate
在后台数据库中按文件名搜索
优点:搜索速度很快,locate -i 不区分大小写
缺点:
- 如果我们新建一个文件,然后马上locate它,你会发现,搜不到。原因是,locate并不是直接在系统中搜索,而是在/var/lib/mlocate数据库中进行搜索,但是这个数据库文件并不是实时更新的,而是每天更新一次,可以执行updatedb命令强制更新,不检索/tmp下的文件
- 只能按照文件名去搜索,locate 文件名
locate是按照/etc/updatedb.conf配置文件来搜索的
- PRUNE_BIND_MOUNTS=”yes” //开启搜索限制,表示下列配置生效
- PRUNEFS = //搜索时不搜索的文件系统
- PRUNENAMES = //搜索时不搜索的文件类型
- PRUNEPATHS = //搜索时不搜索的路径
注意whereis和which也遵循这个配置文件的规则
2.2 文件搜索命令 find
find [搜索范围] [搜索条件]
find / -name install.log
避免把搜索范围设置的过大,会非常耗费系统资源
find默认是在系统中搜索完全符合文件名的的文件。如果需要模糊匹配,需要使用通配符
Linux中的主要通配符
* 匹配任意内容
?匹配任意一个字符
[]匹配任意一个中括号内的字符
find /root -name “install.log*”
find /root -iname install.log //文件名不区分大小写
find /root -user root //按照所有者搜索,-group根据所属组查找
find /root -nouser //查找没有所有者的文件
find /var/log -mtime +10 //查找10天前修改的文件
-10 10天内
10 10天当天
+10 10天前
atime 文件访问时间,access
ctime 改变文件属性的时间,change
mtime 改变文件内容的时间,modify
find /root -size 25k //查找文件大小是25k的文件,k小写,M大写
+25k 大于25k
-25k 小于25k
find /root -inum 26224 //查找i节点号为26224的文件
find /root -type f //根据文件类型查找,f文件,d目录,l软链接
find /root -size +20k -a -size -50k //查找大于20k并小于50k的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /root -size +20k -a -size -50k -exec ls -lh {} \;//查找大于20k并小于50k的文件,并显示详细信息
-exec/-ok 命令 {} \; 对搜索结果执行操作,这是固定格式,中间的命令必须是能处理第一个结果的命令,注意结尾的;
2.3 命令搜索命令 whereis和which
whereis 命令名
搜索命令所在路径及帮助文档所在位置
选项:
- -b 只查找可执行文件
- -m 只查找帮助文件
whoami
whatis ls
which 文件名
搜索命令所在的路径及别名
whereis 可以看到命令所在的位置和帮助文档
which可以看到命令的别名
通过whereis和which看到的都是外部安装的,外来命令,cd命令是shell内置的命令,他俩都找不到
PATH环境变量
定义了系统搜索命令的路径
echo $PATH
2.4 字符串搜索命令 grep
grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
选项:
- -i 忽略大小写
- -v 排除指定字符串,取反,搜索不包含字符串
grep -v ^# /etc/inittab //排除#开头的注释
grep -i start /etc/inittab //搜索文件中包含start的行,排除大小写
2.5 find命令和grep命令的区别
find命令:在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配
3、帮助命令
当你不知道一个命令是做什么的,或者命令的参数是做什么的
3.1 man
man [命令或配置文件]
//获取对应的帮助,man是manual的缩写,等同于whatis命令
man ls //查看ls命令的帮助信息
man services //查看配置文件services的帮助信息,写配置文件名,不要写它的路径
man -f passwd //可以查看命令所有等级的帮助信息
可以看到这个命令有两个等级的帮助文件
man 5 passwd //查看5级命令的帮助文件,如果有多个等级,而你又没有指定等级号,则默认打开最小等级的命令
man 8 ifconfig //ifconfig是8级的命令,管理员的命令,一般用户不能调用
3.2 whatis
快速直接的显示命令的作用
whatis ls
3.3 apropos
man -k passwd //查找到所有帮助文档中有“passwd”关键字的
apropos passwd //等同于man -k
3.4 help
命令 –help 或者help 命令//获取命令选项的帮助,部分已经翻译成中文了
它的特殊功能在于可以内置命令的帮助,比如cd
为什么叫shell,shell是包裹内核的壳,内核只能执行01的机器指令,shell要将字符指令翻译为机器指令,再传给内核,说白了就是用户和计算机内核交互的接口。
确定是否是内部命令
Linux中有些命令是Linux中自带的,有些是别人写好装到Linux中的,如何区分命令是否是自带的呢?
如上图所示,如果whereis后没有命令的位置,则这个命令是内核自带的,cd就是典型的内核自带的命令。
或者which cd,没有返回结果,那么它就是内部命令
man内核命令如man cd不能直接得到cd的详细说明,可以使用help来专门获取内部命令的帮助,help cd,help不能获取外部命令的帮助。
info命令是个巨大的帮助文档,不常用
我们要学会如何使用帮助,比如我们知道date可以查看系统的时间,那如果我们想要更改系统的时间该怎么做呢?
man date
4、压缩命令
常用压缩格式.zip .gz .bz2 .tar.gz .tar.bz2
Linux不需要扩展名,但是对于压缩文件,我们还是需要写扩展名,为了方便识别出来这个是压缩文件
4.1 gz压缩
gzip [文件] //压缩为.gz格式的压缩文件
- 只能压缩文件,不能压缩目录
- 源文件会消失
gzip -c 源文件 > 压缩文件 //压缩为.gz格式,源文件保留,>是重定向,将前面的结果写到后面去
例如gzip -c cangls > cangls.gz
gzip -r 目录 //压缩目录下的所有子文件,但是不能压缩目录
gzip -d 压缩文件 //解压缩文件
gunzip 压缩文件 //解压缩文件
4.2 tar
目录不能压缩,那么可以先使用tar命令将其打包为一个文件
tar -cvf 打包文件名 源文件
选项:
- -c 打包,可打包文件和目录,并保留源文件
- -x 解包
- -v 显示过程
- -f 指定打包后的文件名
- -z 打包同时压缩
例如:
tar -cvf longls.tar longls
tar -xvf longls.tar
用起来很麻烦
.tar.gz是先打包为.tar格式,再压缩为.gz格式
tar -zcvf 压缩文件名.tar.gz 源文件
tar -jcvf 压缩文件名.tar.bz2 源文件
tar -zxvf 压缩文件名.tar.gz
tar -jxvf 压缩文件名.tar.bz2
tar -jxvf longls.tar.bz2 -c /tmp/ //指定解压缩的位置
tar -jcvf longls.tar.bz2 longls1 longls2 //压缩多个文件在一起
tar -jzvf longls.tar.bz2 //只查看其中的目录,而不真解压
4.3 zip
.zip压缩格式,Linux和Windows中是通用的,可压缩文件和目录,压缩比没有gzip高
zip 压缩文件名 源文件 //压缩文件
zip -r 压缩文件名 源目录 //压缩目录
uzip 压缩文件 //解压缩文件
4.4 bz2
bzip2 源文件 //压缩为.bz2格式,不保留源文件
bzip2 -k 源文件 //压缩之后保留源文件
注意bzip2命令不能压缩目录
tar -cjf Japan.tar.bz2 Japan //压缩目录
tar -xjf Japan.tar.bz2 //解压缩
bzip2 -d 压缩文件 //解压缩,-k保留压缩文件
bunzip2 压缩文件 //解压缩,-k保留压缩文件
5、用户管理命令
5.1 useradd
useradd 用户名
只是添加用户的基本信息,如创建家目录等,并没有设置其密码所以不能用这个用户名登陆
5.2 passwd
passwd 用户名
为该用户设置密码,若不写用户名则默认为自己修改密码
5.3 w
查看登陆用户信息
命令输出:
- 可以查看到Linux已经连续运行了多久
- 最近1、5、15分钟,机器的负载情况
- USER 登陆的用户名
- TTP 登陆终端, tty表示本地终端,pts远程终端,pts/0表示第一个远程终端
- LOGIN@ 登陆时间
- IDLE 用户闲置时间,上次敲命令到现在的时间
- JCPU 该终端连接的所有进程占用的时间,这个时间并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间
- PCUP 当前进程所占用的时间,这两个时间可以判断这个用户占用的资源的情况
- WHAT 当前正在运行的命令
5.4 who
who 简单版本的w命令,只能看到登陆用户名、终端、登陆时间和登陆IP的信息
5.5 last
列出所有历史的登陆信息,默认从/var/log/wtmp文件中读取数据,可以查看用户的登陆登出时间段。这个文件是个二进制文件,防止人为修改
5.6 lastlog
先列出所有的用户,然后显示每个用户的最后一次登陆情况
默认读取/var/log/lastlog文件
6、网络命令
6.1 write
给当前在线的用户发送信息,可以使用w命令查看谁在线
write 在线的用户名
使用ctrl+D结束编辑
6.2 wall
wall write all 向所有用户广播信息,自己也能收到
wall [message]
6.3 mail
给用户发邮件 mail 用户名
查看邮件 mail
6.4 ping
发送数据包测试网络连通性
ping -c ip地址 -c指定发送次数
6.5 ifconfig
interface configure
查看和设置网卡信息
ifconfig
ifconfig eth0 192.168.1.1 netmask 255.255.255.0
eth0 表示第一块网卡
eth1 表示第二块网卡
lo loopback 本地循环测试,127.0.0.1即使没安装网卡,也会有它,也能ping通127.0.0.1
6.6 traceroute
显示本地数据包到目的地间的路径,其中经过了那些节点
traceroute www.baidu.com
6.7 netstat
显示本机网络连接、路由表等信息
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 显示IP地址和端口号,拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:
- LISTEN和LISTENING的状态只有用-a或者-l才能看到
- TCP才有Listen,表示持续监听,Established表示正在连接的
- SSH服务端的端口为22,发起端的端口是随机的
例如:
netstat -tlun 查看本机监听的端口
netstat -apn 查看本机所有的网络连接,及其进程名
netstat -rn 查看本机路由表
6.8 setup
redhat系列特有的图形界面配置网络的工具
6.9 route/curl
设置网关 route add default gw 192.168.1.1
GET请求 curl url
POST请求 curl -d “param=nick¶m2=12345” http://www.coolwubo.com
6.10 mount
挂载命令,Linux命令行中不会自己挂载
例如挂载一个光盘
- mkdir /mnt/cdrom
- mount -t iso9660 /dev/cdrom(设备名) /mnt/cdroom(挂载到的目录名)
7、关机与重启命令
7.1 shutdown
shutdown 命令
shutdown [选项] 时间
选项:
- -c 取消前一个关机命令
- -h 关机
- -r 重启
时间可以写now或05:30,但是如果直接写时间会中断终端的操作,无法再输入别的命令,ctrl+c退出,执行shutdown -r 05:30 &,添加一个后台符,放到后台执行
7.2 halt/poweroff/init 0
这三个命令不会像shutdown一样在关机时正确保存状态,而是直接关闭,所以不建议用
7.3 reboot/init 6
reboot,init 6重启命令,reboot相对安全
系统运行级别
- 0 关机
- 1 单用户,类似windows的安全模式,最小功能用来排查故障
- 2 不完全多用户,不含NFS服务
- 3 完全多用户
- 4 未分配
- 5 图形界面
- 6 重启
init 0,init是调用的意思,即调用0级别
runlevel //显示上次的级别和当前级别
修改系统启动后的默认运行级别
cat /etc/inittab,这个文件中列出了所有的运行级别
7.4 logout
退出登录logout,而不是直接关闭xshell,直接关闭,用户还卡在那里