更新于 2020-07-12
Linux常用命令总结
Linux网络技术常用命令总结
--参考Linux网络技术第2版王波
2.1常用命令与实例P10
2.1.1 Linux文件基本操作命令P10
ls命令(list)
ls -a 显示隐含的文件(文件名以“.”开头的是隐含的文件)
Linux下隐藏文件操作:隐藏、查看、删除
Linux下隐藏文件(隐藏)
例子:将cron文件隐藏
命令:mv cron . cron
例子:创建目录cron并隐藏
命令: mkdir . cron
原理:建立文件时,以.开头的文件就是隐藏文件。
Linux下显示隐藏文件(查看)
显示所有文件(包含隐藏文件)
命令:ll -A
只显示隐藏文件
命令:l.
或者
命令:ll -d .*
删除隐藏的文件(删除)
命令:rm -rf ./.*
linux下点和点点文件的意义
一个点(.),代表本级目录。zhidao
两个点(..),代表上级目录。
也就是每个文件夹下面都已这两个隐藏文件夹。
ls -l 长格式输出
长格式输出,第1列表示文件类型
Linux文件类型:
-普通文件
d文件夹
l符号链接文件
b块设备,如硬盘设备的文件
等。。。
文件有三种权限:r读(read)、w写(write)、x执行(execute)
9列权限位
属主的权限 属组的权限 其他用户的权限
rwx rwx r-x
ls -R 递归显示(也显示子目录)
pwd命令 显示当前工作目录
mkdir命令
mkdir abc 创建目录
mkdir -p a/b/c 创建多级目录 -p如果父目录不存在,则先创建.
cd命令(config directory)
cd /var 切换工作目录
cd 切换到当前用户的主目录如/home/user1
1、与用户(user)和用户组(group)相关的配置文件;
1)与用户(user)相关的配置文件;
/etc/passwd 注:用户(user)的配置文件;
/etc/shadow 注:用户(user)影子口令文件;
2)与用户组(group)相关的配置文件;
/etc/group 注:用户组(group)配置文件;
/etc/gshadow 注:用户组(group)的影子文件;
touch命令
touch myfile 创建空文件,如果myfile不存在,则创建空文件
touch myfile 如果myfile已存在,则改变myfile的最后修改时间
cp命令
cp /etc/php.* abc 复制文件
cp -R /etc abc 复制目录
mv命令(move)
mv myfile mydir1
mv myfile myfile2 文件改名
mv afile /tmp 把当前目录下的afile移动到/tmp/目录下
rmdir命令(remove directory)
mkdir mydir1 删除制定的空目录
rm命令(remove )
rm php.ini 删除文件
rm -rf abc 删除目录(-r是递归的意思,既可以删除非空目录;-f是强制的意思)
cat命令
cat myfile 显示文件内容
cat > myfile2
Hello World!
<ctrl+d>结束输入
功能:利用重定向符">"创建简短的文本文件
more和less命令
more /etc/http/conf/httpd.conf
分屏显示文件的内容,按“空格键”向后翻一屏,按<Enter>向后滚动一行。
less /etc/http/conf/httpd.conf
分屏显示文件的内容,按<PageUp>向后翻屏,按<PageDown>向后翻屏。
head命令
head /etc/http/conf/httpd.conf
默认显示文件头10行内容
head -n 19 /etc/http/conf/httpd.conf 参数-n 可设置要显示的行数
tail命令
tail /etc/http/conf/httpd.conf
默认显示文件末尾10行内容
tail -n 19 /etc/http/conf/httpd.conf 参数-n 可设置要显示的行数
2.1.2 Linux用户、组管理命令P15
groupadd mygroup1
创建一个组,同时会在/etc/group文件中为改组增加一行,用来记录该组的名称、GID号以及成员等信息。
groupadd -g5000 mygroup2 创建组账号并设置其GID号。参数-g用来设置用户的主要组(每个用户都有
)。
useradd命令
useradd user1 创建用户
passwd user1 设置密码
创建user1的同时会在/etc/passwd文件(用户名、UID号、GID号、主目录、shell等信息)和/etc/shadow文件中(用户的口令)增加一行相关信息。RHEL还会在/home创建主目录/home/user1
useradd -u600 -g mygroup1 -G mygroup2 -d /home/student1 s1
创建用户s1,
参数-u指定用户的UID,
参数-g指定主要组(一个),
参数-G指定附加组(可多个)
参数-d指定主目录
userdel命令
userdel user1 删除用户
userdel -r user2 删除用户,同时删除其主目录
groupdel命令
groupdel mygroup2
删除指定的组,当某个组为现有用户的主要组的时候,则不能删除
passwd命令
passwd user1 改变口令
passwd -l user1 禁止用户登录。参数-l (lock)给指定用户加lock
passwd -u user1 参数-u(unlock) 给指定用户解锁
passwd -d user1 参数-d(delete)可以删除指定用户的口令,即以user1登录时无需口令。
usermod命令(user modify)
usermod -u 601 -g501 s1
功能:将(已经存在)用户s1的UID号修改为601、主要组修改为501,还可以修改主目录等。
id命令
id user1 显示用户的UID、GID及所属的组信息。
2.1.3 Linux文件属性操作命令P17
chown命令
chown user1 hello.txt 将指定文件的属主改为user1
chown -R user mydir
参数-R递归,深入到指定目录中的每一层,将子目录和文件的属主改为指定用户。
chgrp命令
chgrp mygroup1 hello.txt 改变文件的属组
chgrp -R mygroup1 mydir
参数-R递归,深入到指定目录中的每一层,将子目录和文件的属组改为指定组。
chmod命令
权限可针对3类用户进行设置:
1、文件的属主
2、文件的属组
3、其他用户
chmod有两种使用方法
1、字母方式
2、数字方式
1、字母方式
u属主
g属组
o其他用户
a所以用户
=设置指定权限,注意:他会覆盖原权限
+在原有权限的基础上增加指定权限
-在原有权限的基础上去掉指定权限
文件有三种权限:r读(read)、w写(write)、x执行(execute)可组合使用。
9列权限位
属主的权限 属组的权限 其他用户的权限
rwx rw- r-x
chmod u+x host.conf
为host.conf 的属主增加执行权限。
chmod g-w,o=w host.conf
将文件host.conf 的属组去掉写的权限,其他用户设置只有执行的权限,其他不变。
chmod ug=rwx,o= host.conf
chmod ugo=r,ug+wx host.conf
2、数字方式
9列权限位
属主的权限 属组的权限 其他用户的权限
rwx rw- r-x
将每个权限位化成二进制数
权限位为“-”则用0表示,否则用1表示,接着将9列权限位分为三组(每三位一组)将每组化成八进制数。
常用的:
r=4,w=2。x=1
若要rwx(可读、可写、可运行)属性,则4+2+1=7
若要rw-(可读、可写、不可运行)属性,则4+2=6
若要r-w(可读、不可写、可运行)属性,则4+1=5
rwxrx-r-- 转二进制 111110100 转八进制 (111 110 100)2=(764)8
相应的看到(764)也能快速的转成相应权限。
chmod 764 host.conf
chmod u+s /home/user1/mycat
为文件mycat加上s权限,表示当程序被执行时,其执行身份为该程序的所有者。g+s也是类似的。
2.1.4 Linux i节点及相关命令P22
ext2文件系统是当前Linux流行的文件系统之一
ln命令(link)
ln myfile myfile.hlink
功能:为文件myfile创建名为myfile.hlink的硬链接,用ls-il看,两个文件的i节点号是一样的;两个文件的连接数(权限位于属主之间的数)为2了。
ln myfile myfile.slink
功能:为文件myfile创建名为myfile.slink的符号链接(软连接)。
思考:用rm删除myfile,分别访问 myfile.hlink和myfile.slink
2.1.5 Linux 查找命令P23
查找分为:
1、文件名称的查找
2、文件内容的查找
which命令
which cp
功能:显示命令的绝对路径。此命令只能在命令搜索路径指定的目录中去查找命令或程序。
whereis命令
whereis ln
功能:查询指定命令所在目录以及帮助文档所在目录。
locate命令
touch mytest.txt
locate mytest.txt
功能:在locate数据库中,快速查找指定文件。
由于 mytest.txt是刚新建的文件,所以找不到,需要执行updatedb更新数据库,需要root身份
su -
参数“-”表示改变身份的同时也改变了工作的环境。
updatedb 更新数据库,需要root身份
locate mytest.txt
find命令
find / -name "dhcpd*"
功能:参数-name指明按文件名查找,从根目录开始查找"dhcpd*"
find /etc -size 8
功能:参数-size 指明按文件大小查找,从/etc 开始查找大小为8块的文件,此处默认为512B为1块。若块大小为1K,则应写为8K。
find /var -typed -print
功能:从/var 开始查找类型为目录的文件,
参数-print是显示到屏幕上的,常省略
find . -cmin-5
功能:从当前目录下查找5分钟之内修改过得文件。如果把“-5”改为“+5”则表示查找5分钟以前修改过的文件。不带“+或-”则认为正5分钟。
如果把时间单位改为天,则使用“-ctime-5”
find . -ctime-5
find mytmp -perm 775
功能:查找mytmp目录下的权限为恰好为775的文件permit
find mytmp -perm +775
功能:查找mytmp目录下“满足755中任何一种权限的文件”,即符合任何一个指定的权限位即可。
find mytmp -perm -775
功能:查找mytmp目录下权限“至少满足755的文件”,即指定的所有权限位必须符合才算满足条件。
find / -ctime-5 -a -name "*.conf"
功能:查找5天内修改过得所有的.conf文件(多条件查询)。
说明:默认条件下各个条件是“与”的关系,
“-a”或“-and”表示“与”
“-o”表示“或”
“!”表示“非”
find . -size0 -exec rm {} \;
功能:将当前目录下,大小为0字节的所有文件删除。
参数-exec针对查找到的文件执行后面的命令
“{}”相当于占位符,当执行到“\”时就用找到的文件替换“{}”替换后在执行该指令。
2.1.6 Linux 文件内容操作命令P25
grep命令
grep "bind" host.conf
功能:在文件host.conf中查找包含字符串bind的行。
grep "network" /etc/*.conf 使用通配符
grep -v "network" /etc/nsswitch.conf
功能:在文件nsswitch.conf 中查找不包含字符串"network"的行。
wc命令
wc /etc/nsswitch.conf
功能:统计/etc/nsswitch.conf 共有63行、272个单词、1718个字符。
wc -l /etc/nsswitch.conf
功能:
参数-l的功能可统计指定文件的行数
参数-w的功能可统计指定文件的单词数
参数-c的功能可统计指定文件的字符数
sort命令
sort mytest
功能:将指定文件以行为单位按正序输出。
sort -r mytest
功能:将指定文件以行为单位按逆序输出。
参数-r是逆序的意思(reverse)
2.1.7 压缩与打包命令P27
tar命令
打包(备份)
tar -cvf myetc.tar /etc
功能:将目录/etc打包(备份)成myetc.tar的文档。
参数-c打包
参数-v显示处理过程visual
参数-f用来指定文档名
打包(备份)并压缩compress
tar -zcvf myetc.tar.gz /etc
功能:将目录/etc打包(备份)并压缩成myetc.tar.gz的文档。
说明:tar本身没有压缩功能,可通过参数来调用相应命令实现压缩功能。
参数-z调用gzip命令来压缩,扩展名gz
参数-Z调用compress命令压缩,扩展名Z
参数-j调用bzip命令压缩,扩展名bz2
tar -zcvf myetc.tar.gz /etc
tar -Zcvf myetc.tar.Z /etc
tar -jcvf myetc.tar.bz2 /etc
tar -zxvf myetc.tar.gz
功能:将参数-c换成-x实现还原释放(解压)成文件的功能。
说明:没有指定还原位置,默认在当前目录下。
参数-C 指明还原位置可以用
tar -zxvf myetc.tar.gz -C /tmp
gzip与gunzip命令
gzip myetc.tar
功能:将文件myetc.tar压缩为myetc.tar.gz
gunzip myetc.tar.gz
功能:将文件myetc.tar.gz解压缩为myetc.tar
压缩解压总结
tar
-c: 建立压缩档案 compress
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
上面几个是独立的命令,压缩解压都会用到其中一个,可以和别的命令一起使用但是只能用其中一个。
下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程 view
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,这个参数是最后一个参数,后面只能接档案名,也就是文件名。
tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。
-c是表示产生新的包,
-f指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。
-r是表示增加文件的意思。
tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成一个文件jpg.tar
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成一个文件jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成一个文件jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成一个文件jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,使用需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,使用需要先下载zip for linux
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、*.tar 用 tar -xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar -xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
2.1.8 挂装与卸载命令28
mount命令
mount -t ios9660 /dev/cdrom /mnt/cdrom
功能:将文件系统为ios9660的光盘挂装到
参数-t指明要挂装文件系统的类型/mnt/cdrom目录下
mount -t vfat /dev/sda1 /mnt/myusb
功能:将文件系统为vfat的U盘挂装到/mnt/myusb
列表中sda表示磁盘,sdb表示外部设备,通常sbd+数字就是当前的U盘,把所有的外部设备去掉,剩下的那个就是U盘,也可以一个一个试。
unmount /mnt/cdrom
功能:卸载文件系统。
2.1.9 网卡配置命令P28
ifconfig命令
ifconfig
功能:显示网卡参数的配置情况,包括ip地址、子网掩码、广播地址。
ifconfig eth2 125.220.71.247 netmask 225.225.255.0
功能:设置网卡eth2 的IP地址为125.220.71.247 、掩码为 225.225.255.0
说明:eth0是第一块以太网的名称,eth1是第二块以此类推。
lo是local的简写,一般指本地环回接口,环回测试网卡的名称。
ifconfig eth2 down
功能:禁用网卡eth0
加上参数-a才可以显示被禁用的网卡信息。ifconfig -a
ifconfig eth2 up
功能:激活网卡eth0
2.1.10 rpm命令P29
RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写
rpm -qa
功能:查询系统中安装的软件包列表
参数-q的功能是查询(query)
参数-a的功能是所有的(all)
rpm -ql php
功能:查询已经安装的软件包php中的文件列表
参数-l的功能是列出指定文件中的文件。(limit)
rpm -e php
功能:卸载指定软件包这里是php的
参数-e的功能是卸载
rpm -vih php-5.4.16-21.el7.x86_64.rpm
功能:安装软件包php
参数-i的功能是安装
参数-v的功能是显示处理过程(visual)
参数-h的功能是显示“”来表示进度。
rpm -vih --force php-5.4.16-21.el7.x86_64.rpm
功能:强制安装软件包php,功能
参数--force表示强制
2.1.11帮助命令P30
man命令
man是manual的缩写,man命令用来提供在线帮助,通过man命令可以查看Linux中的命令帮助、配置文件帮助、编程帮助等信息。
man rpm
功能:查看rpm命令的帮助手册。
说明:按<q>退出man环境
查看指定关键字的所有分类帮助
man -a chroot
功能:查看chroot的所有分类的帮助手册。
参数-a可从八类中查看所有关于指定命令的帮助手册。
info命令
info ls
功能:查看ls命令详细信息文档。
2.1.12定时器命令P31
at命令
at 10:19
at>echo hello>/dev/tty2
at>echo world>/dev/tty3
at><ctrol+d>
2.1.13查看进程命令P32
ps
ps
功能:查询在当前控制台上运行的进程。
ps -aux
功能:查询系统智能所有运行的进程,包括后台进程
参数-a显示终端上的所有进程,包括其他用户的进程(all)
参数-x包括不占用控制台的进程
参数-u显示用户(user)
ps -ef
功能:查询系统智能所有运行的进程,包括后台进程,而且可以显示每个进程的父进程号。
参数-e 代表显示所有进程,
参数-f代表全格式。
linux的进程有5种状态:
1、运行状态(正在运行或在运行队列中等待[就绪队列])
2、中断状态(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3、不可中断状态(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4、僵死状态(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5、停止状态(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
pstree命令
pstree
功能:以树形结构显示系统的进程列表
pstree -p
功能:以树形结构显示系统的进程列表,并识别出每个进程的进程号(progress)
top命令
top
功能:动态的显示系统的进程列表。
2.1.14其他命令P33
kill命令
kill 3029
功能:kill可以杀死一个进程,普通用户只能杀死自己的进程。
说明:kill 之前一般先用ps或pstree看进程号。
kill - 9 3029
功能:kill强制杀死一个进程
参数-9是强制
2.2管道与重定向P35
2.2.1管道P35
一级管道
ls -l | grep "^l"
功能:先执行ls -l,并把结果当做grep “^l”命令的输出文件。
其中“^l”表示以l开头的,这里用的正则表达式。
二级管道
ls -l | grep "^l" | wc -l
功能:先执行ls -l,并把结果当做grep “^l”命令的输入文件,然后结果当做wc -l命令的输入文件。
2.2.2输出重定向P35
输出重定向覆盖方式
sort -r a.txt>b.txt
功能:">"的功能是吧a.txt文件按逆序并重定向输出到文件b.txt中。若b.txt已存在则覆盖,不存在则创建。
输出重定向追加方式
sort -r a.txt>>b.txt
功能:">>"的功能是吧a.txt文件按逆序并重定向输出到文件b.txt中。若b.txt已存在则在末尾追加新内容,不存在则创建。
跳到文本的最后一行:按“G”,即“shift+g”
2.2.3输入重定向P36
输入重定向
more < /etc/http/conf/httpd.conf
功能:
输入重定向组合使用
cat <<! >a.txt
>hello
>world
>!
功能:将输入的两个“!”之间的内容重定向到a.txt中去,
说明:其中“!”是定界符。
2.3 vi编辑器使用P36
vi是unix和linux中最著名的编辑器之一。
当敲入字母“i”时把命令方式切换为“输入方式”
需要存盘并退出<ESC>然后输入“:wq”存盘退出。
三种方法切换到“输入方式”
字母“i”切换到光标所在处插入新字符的“输入方式”。
字母“a”切换到以追加方式的“输入方式”。
字母“o”切换到当前行的下面插入一新行。
2.3.2vi常用命令
光标相对移动n行
方法:直接敲入数字n,后按<Enter>,则光标下移n行
d命令--删除行
方法:敲入dd删除当前行;敲入ndd从当前行开始连续删除n行,包含当前行。
y命令--复制行
方法:敲入yy赋值当前行;敲入nyy从当前行开始连续赋值n行,包含当前行。
说明:y命令将指定的行复制到暂存区中。
p命令--粘贴
方法:敲入p在当前行的下方粘贴暂存区中的内容;敲入np,在当前行的下方连续粘贴n遍暂存区中的内容。
查找
/字符串
替换
:s/regexp/replacement/
功能:针对当前行替换,将第一个regexp替换为replacement
:s/regexp/replacement/g
功能:针对当前行替换,将所有的regexp替换为replacement,g是全局的意思(global)。
%s/regexp/replacement/g
功能:针对全文替换,将regexp替换为replacement,
说明:其中“%”将范围扩大到全文,g是全局的意思(global)。
%s/regexp/replacement/gc
功能:针对全文替换,将regexp替换为replacement,并在每次给出确认提示。
说明:“c”是替换过程每次给出确认提示。(confirm)
可视模式
方法:敲入<v>键进入可视模式,再按光标来选择区域。
需要复制粘贴,则按<y>键,然后移动光标到目标位置,敲入<p>键。
需要移动,则按<d>键,然后移动光标到目标位置,敲入<p>键。
显示/隐藏行号
方法:输入":set numer ",会在每行前加上行号;输入":set nonnumer "则隐藏。
删除字符--x命令
方法:敲入<x>键,会删除光标所在处的字符。
存盘--w命令
方法:输入":w",进行存盘。敲ZZ,存盘并退出,与“:wq”相同。
退出--q命令
方法:输入":q",退出。如果已经进行了编辑,要强制退出,不保存修改的内容 ,则输入“q!”。
2.4正则表达式P38
正则表达式(Regular Expression),又称正规表达式,是用来“匹配字符串”的一种特殊的表达式。是基于文本编辑器和搜索工具中的一个重要部分。
shell编程基础P42
shell--命令解释器,主要功能是负责解释和执行命令行上键入的内容。
当前流行的shell有很多,如Bash、Tcsh。
3.1.1shell脚本
shell脚本是按行解释的,每个脚本的第一行总是以“! /bin/sh”开头。且注释是用“”。
3.1.3执行shell脚本
cd /data/shell
./e1.sh
说明:./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录 (/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。
sh e1.sh
说明:以绝对路径的方式去执行bash shell脚本
/data/shell/e1.sh
说明:直接使用bash 或sh 来执行bash shell脚本
关闭防火墙
service iptables stop
重启防火墙
service iptables restart
按alt+f2切换到控制台
Linux的ssh是什么
SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机。