欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux命令大全(持续更新)

程序员文章站 2022-07-02 18:45:29
...

linux 常用命令

1、linux 防火墙命令

systemctl status firewalld.service    #查看firewalld状态
systemctl stop firewalld       #关闭
systemctl start firewalld       #开启
systemctl disable firewalld     #开机自动关闭   //RHLE7
chkconfig --list|grep network    #查看开机是否启动   //RHLE6
systemctl enable firewalld     #开机自动启动

2、查看目录命令 ls(显示当前目录中文件名字的列表)

ls -a   显示当前目录中所有的文件,包含隐藏的文件
ls -l  显示文件及其详细信息 (这个命令有一个别名:ll)

3、管理文件和目录的命令

(1) mkdir 创建指定文件名的文件夹
  • 格式:
 mkdir [-选项] 目录
  • 命令参数
 -p,--parent 可以是一个路径名称(若此时若路径中的某些目录上不存在,加上此选项后,系统将自动建立好那些上不存在的目录,即一次可以创建多个目录)
 -v,--verbose  每次创建新目录都显示信息
(2) cd 进入某个指定的目录中(中间一定要有空格)
  • 格式
cd 目录名
(3) pwd 显示当前所在目录的绝对路径
(4) rmdir 删除空目录
(5) cp 复制文件或目录
  • 格式 cp [options] source … directory
  • 命令参数
 -p: 出复制文件的内容外,还要把修改时间和访问权限也复制到新文件中
 -r : 若给出的源文件是一个目录,此时将复制该目录下所有的子目录和文件
(6) mv 为文件或目录改名,或将文件或目录转入其他位置。
(7)rm 用于删除一个文件或目录
(8)格式
  • 命令参数
-f 直接删除.
-r 净目录及以下的所有文件一起删除
 rm -rf * 删除当前目录下所有文件及目录
(9) touch 修改文件或目录的目录时间,若文件不存在,系统会自建立一个新的账号
  • 命令格式
 touch 文件
(10) cat 显示文件内容
  • 命令格式
 cat [-选项] 文件
  • 命令参数
 -n 或 --number 由1开始对所有的输出的行数编号
(11) more 类似cat,不过会以页的形式显示。
  • 快捷键
enter  向下n 行,需要定义,默认为1行
空格键  向下滚动一页
q  退出 more
b  回退一页
(12) less 对文件进行分页的显示工具。
  • 命令格式
less [-选项] 文件
  • 命令功能
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关),next
N:反向重复前一个搜索(与 / 或 ? 有关)
Q  退出less 命令
Enter 向下n行,需要定义。默认为1行
空格键 向下滚动一屏
b键 向上滚动一屏
[pagedown]: 向下翻动一行
[pageup]:   向上翻动一行
(13)head 用来显示档案的开头至标准输出中。如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
head -n 5 log.txt 
说明:显示文件的前n行
(14) tail命令用途是依照要求将指定的文件的最后部分输出
1、tail filename
说明:显示filename最后10行。
2、tail -F filename
说明:动态监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
3、tail -n 20 filename
说明:显示filename最后20行。
(15) ln 生成连接文件
  • 语法
ln -s 【源文件】【目标文件】
        -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        

注意:

第一:软链接 前面是 l 开头的(link),而硬链接是 - 开头,表示文件
第二:软链接所有者和所属组具有全部操作的权限,rwxrwxrwx;而硬链接不是。
第三:软链接类似与 windows 的快捷方式,有一个明显的箭头指向,而指向的是源文件
第四:硬链接文件除了文件名与源文件不一样,其余所有信息都是一样的。类似于 cp 复制操作。但是又和复制不一样,硬链接可以同步更新。
第五:通过 ls -i 操作,来查看 文件的 i 节点。发现硬链接和源文件的 i 节点是相同的,而软链接与源文件的 i 节点是不同的
第六:不允许将硬链接指向目录;不允许跨分区创建硬链接

4、搜索命令

(1) whereis命令

whereis 命令是搜索系统的命令,也就是说where不能搜索普通文件,而只能搜索系统命令。

(2) which 命令

搜索系统命令。和whereis 命令类似。

(5) find 命令

find 命令用于在目录结构中搜索文件,并执行指定的操作。他提供了相当多的查找条件,功能很强大。在不指定查找目录的情况下,find会对整个系统进行遍历。

  • 命令格式
find [查找目录] [查找规则] [查找完后的操作]
  • 例子
通过文件名字查找,如名字为test的文件或目录,这个是精准查找
find ./ -name test

加通配符,查找名字包含test的文件或目录,这个是模糊查找
find ./ -name *test*       //  * 表示任意字符, ?表示一个字符
不区分大小写的查找:find ./ -iname *test* 

查询文件大小大于100M的文件
find ./ -size  +204800   //  注意这里的单位是数据块 , 它和K的换算: 1数据块=215字节=0.5K   所以100M=102400K=20800,
     // +表示大于,-表示小于,不写表示等于

查询所有者为xxx的所拥有文件
find /  -user  xxxx

查询用户组为xxx的所拥有文件
find /  -group xxxx

查询在etc目录下5分钟内被修改过文件属性的文件和目录
find /etc  -cmin  -5    // amin被访问, cmin属性被修改,mmin内容被修改

多条件查询,在/etc目录下查找文件大小大于80M,并且小于100M的文件
find /etc -size +163840  -a  -size -204800  //  -a:表示and,并且关系, 此外还有-o:表示or,或者关系

默认查找的内容是目录和文件,但是我们只想找到文件或者目录中的一个,如:查找/etc目录下的init开头的文件
fine /etc -name init* -a -type f    //这里f:表示文件,d:表示目录, l:表示软链接

查找文件后,在进一步执行某些命令,如:查找出文件后在显示详细属性信息
find /etc -name init*  -exec ls -l {}  \;  
  // {}  \;  后面的这三个符号,你把它当作固定结构记住就行,其中“{}”就代表 find 命令的查找结果。注意-exec可以替换-ok,功能一样只是多一个提示

通过i节点查询文件,举个例子就好了:
find /etc -inum 12313 -exec rm {} \;
(5) grep 命令

grep 是文本搜索工具,他和find 的主要哦区别是: find是搜索文件/目录本身,而grep 是搜索文件中的内容。

  • 命令格式
grep [option] pattern file
  • 常用参数
-E :开启扩展(Extend)的正则表达式。grep -E  ====  egrep
  -i :忽略大小写(ignore case)。
  -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
  -n :显示行号
  -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker
  -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
  -o :只显示被模式匹配到的字符串。
  --color :将匹配到的内容以颜色高亮显示。
  -A  n:显示匹配到的字符串所在的行及其后n行,after
  -B  n:显示匹配到的字符串所在的行及其前n行,before
  -C  n:显示匹配到的字符串所在的行及其前后各n行,context
  • 案例
案例1:基本使用方式
[[email protected] ~]# grep "abc" ./grepdemo.txt   // 找文件中包含“abc”这三个字符的内容行

案例2:查询结果忽略大小写
[[email protected] ~]# grep  -i "abc" ./grepdemo.txt 

案例3:查询结果显示行号
[[email protected] ~]# grep -n "abc" ./grepdemo.txt   //显示的行号,不是给结果编一个新的行号,是源文件中的行号

案例4:显示有几行没被匹配到
[[email protected] ~]# grep -cv "abc" ./grepdemo.txt 

案例5:只显示与搜索匹配的内容
[[email protected] ~]# grep -o "abc" ./grepdemo.txt 

案例6:显示匹配的内容以及它的前n行,匹配的内容以及它的后n行,匹配的内容以及它的前后n行
[[email protected] ~]# grep -A 2 "abc" ./grepdemo.txt 
[[email protected] ~]# grep -B 2 "abc" ./grepdemo.txt 
[[email protected] ~]# grep -C 2 "abc" ./grepdemo.txt

5、管道符的使用

  • 命令格式:
命令1| 命令2 或
命令1|命令2|命令3…… 
命令1的正确输出作为命令2 的操作对象
  • 例子
例子 1:把ls -l 命令输出的结果,分页显示:
[[email protected] ~]# ll -a /etc/ > /root/testfile #用输出重定向,把 ll 命令的输出保存到/root/testfile 文件中 
[[email protected] ~]# more /root/testfile  #既然 testfile 是文件,当然可以用 more 命令分屏显示了

可是这样操作实在不方便,这时就可以利用管道符了。命令如下:
[[email protected] ~]# ll -a /etc/  | more

例子 2:在命令 ll  /etc/的结果中搜索 yum开头 的文件
[[email protected] ~]# ll -a /etc/  | grep  yum

6、netstart 命令 作用是查看网络状态

  • 基本参数
 -a:    列出所有网络状态,包括 Socket 程序 
  -c  秒数:  指定每隔几秒刷新一次网络状态 
  -n:    使用 IP 地址和端口号显示,不使用域名与服务名 
  -p:    显示 PID 和程序名 
  -t:    显示使用 TCP 协议端口的连接状况 
  -u:   显示使用 UDP 协议端口的连接状况 
  -l:    仅显示监听状态的连接 
  -r:    显示路由表
  • 比较常用的组合
1、netstat -tuln   :查看计算机正监听那些端口
2、netstat -an    : 查看所有状态信息,除了查看哪些端口被监听了,还可以查看有那些远程访问终端链接着这台服务器

7、压缩和解压命令

1
(1.1) gzip 压缩文件 (压缩文件后缀 .gz)
  • 例子:
gzip test.txt   结果生成 test.txt.gz,源文件消失。

注: 该命令只能压缩文件,不能压缩目录,压缩后不保留原始文件

(1.2) gunzip 解压命令
2
(2.1) bzip2 (gzip的升级版,压缩文件后缀.bz2)
  • 例子
bzip2 -k test.txt  生成test.txt.bz2,原始文件留着。
-k   压缩后保留原始文件

注: 该命令只能压缩文件,不能压缩目录,压缩后不保留原始文件

(2.2) bunzip2 或者 bzip2 -d 压缩文件名
3
(3.1) tar 将目录打包成.tar 文件
  • 语法
tar [选项] 压缩后的文件名  目录

选项 :[-zcvf] 
-c 打包
-v 指定打包后的文件
-z 打包同时压缩,选择的压缩命令

压缩后的后缀 tar.gz tar.bz2

(3.2) tar 解压命令

例子

tar  [-xavf]   -x 解包
               -v 显示详细信息
               -f  指定后文件名
                -z 解包的同时解压缩
其他参数不变,就是z变j,后缀就从.tar.gz变.tar.bz2  


[-jcvf]     -c 打包
         -v 显示详细信息
         -f  指定打包后文件名
         -j 打包同时压缩,选择的压缩命令是bzip2
                
(3.2) tar [选项] 压缩文件.tar.gz 解压命令
[-jxvf]          -x 解包
           -v 显示详细信息
           -f  指定后文件名
           -j 解压缩
4、zip (压缩文件或目录,后缀是.zip)
  • 语法
zip [选项] 压缩后文件名 文件或目录
                -r    压缩目录
  • 例子
 zip -r Japan.zip Japan   压缩目录Japan,生成Japan.zip文件。
      zip  test.txt.zip test.txt  压缩文件test.txt,生成test.txt.zip文件,保留原始文件
(4.1)
unzip 文件名(解压)
总结:
# tar -zcvf Japan.tar.gz Japan 生成Japan.tar.gz压缩文件
# tar -zxvf Japan.tar.gz 解压文件
# tar -jcvf Japan.tar.bz2 Japan 生成Japan.tar.bz2压缩文件
# tar -jxvf Japan.tar.bz2 解压文件

8、查看系统日志命令

1、w 命令

w命令用来查看登陆者的信息及他们的行为。

  • 使用
w
显示内容说明:
第一行:系统当前时间   系统的运行时间   当前登录用户数   系统在之前 1 分钟、5 分钟、15 分钟的平均负载
User:登录用户名 
TTY:登录后系统分配的终端号 
From:远程主机名,即从哪登录的 
[email protected]:何时登录 
IDLE:用户空闲时间。这是个计时器,一旦用户执行任何操作,改计时器就会被重置。 
JCPU:和终端连接的所有进程占用时间。包括当前正在运行的后台作业占用时间 
PCPU:当前进程所占用时间 
WHAT:当前正在运行进程的命令行
2、who 命令

who 命令 who 命令显示关于当前在本地系统上的所有用户的信息。
显示以下内容:登录名、tty、登录日期和时间。
输入whoami 显示自己的登录名、tty、您登录的日期和时间。
如果用户是从一个远程机器登录的,那么该机器的主机名也会被显示出来。

3、last 命令
  • 作用

last作用是显示近期用户或终端的登录情况。通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接系统。

  • 使用
指定显示记录的数量(显示记录中最后登录的数量)
# last -n 10

显示内容:
第一列:用户名
第二列:终端位置(pts/0伪终端,意味着从SSH或telnet等工具远程连接的用户,图形界面终端归于此类。tty0直接连接到计算机或本地连接的用户。后面的数字代表连接编号)
第三列:登录IP或内核(如果是:0.0或者什么都没有,意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中)
第四列:开始时间
第五列:结束时间(still login in尚未退出,down直到正常关机,crash直到强制关机)
第六列:持续时间
4、lastlog 命令
  • 作用

检查最后一次登录本系统的用户登录的时间信息

  • 显示

用户名 终端 来源 IP 登陆时间

  • 使用
lastlog
5、lastb 命令
  • 功能

lastb 命令是查看错误登录信息的,查看的是 var/log/btmp

  • 使用

lastb

  • 显示

错误登录用户 终端 尝试登录的时间

相关标签: linux linux