Linux常用命令(日常操作这一篇就够了)

一、查看资源信息
1)查看系统运行资源
查看内存使用量和交换区使用量
[root@localhost ~]# free -h

total    used    free   shared buff/cache  available  Mem:      7.4G    5.8G    313M    348M    1.4G    807M Swap:     2.0G    1.3G    744M
查看各分区情况
[root@localhost ~]# df -h

Filesystem        Size Used Avail Use% Mounted on /dev/mapper/centos-root 398G  27G 371G  7% /  devtmpfs         3.8G   0 3.8G  0% /dev  tmpfs          3.8G   0 3.8G  0% /dev/shm  tmpfs          3.8G 386M 3.4G 11% /run  tmpfs          3.8G   0 3.8G  0% /sys/fs/cgroup  /dev/sda1        497M 119M 379M 24% /bo
查看指定目录大小
[root@localhost ~]# du -sh /opt

929M  /opt
查看系统运行时间、用户数、负载
[root@localhost ~]# uptime 

10:49:07 up 167 days, 1:53, 1 user, load average: 0.37, 0.45, 0.54
2)查看网络资源
查看所有网络接口的属性
[root@localhost ~]# ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.253.50.182  netmask 255.255.252.0  broadcast 10.253.51.255
        inet6 fe80::3f0a:743c:8ac4:9ada  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::7e83:ba42:8df9:9188  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::3133:a03d:82e5:4e8d  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:ab:7e:1a  txqueuelen 1000  (Ethernet)
        RX packets 557207307  bytes 237853049497 (221.5 GiB)
        RX errors 0  dropped 3891  overruns 0  frame 0
        TX packets 18407153  bytes 4318601246 (4.0 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

查看路由表

# route -n # 查看路由表

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.253.51.254   0.0.0.0         UG    100    0        0 ens192
10.253.48.0     0.0.0.0         255.255.252.0   U     100    0        0 ens192
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker_gwbridge
查看所有监听端口

# netstat -lntp # 查看所有监听端口
# netstat -lntp |grep 9201 # 查看指定端口9201

[root@localhost ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:9201            0.0.0.0:*               LISTEN      11424/docker-proxy  
tcp        0      0 0.0.0.0:8500            0.0.0.0:*               LISTEN      11467/docker-proxy  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1201/sshd           
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      11360/docker-proxy  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1462/master         
tcp        0      0 0.0.0.0:99              0.0.0.0:*               LISTEN      27210/docker-proxy  

[root@localhost ~]# netstat -lntp |grep 9201
tcp        0      0 0.0.0.0:9201            0.0.0.0:*               LISTEN      11424/docker-proxy  
tcp6       0      0 :::9201                 :::*                    LISTEN      11431/docker-proxy 
查看所有已经建立的连接

# netstat -antp # 查看所有已经建立的连接

[root@localhost ~]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:9201            0.0.0.0:*               LISTEN      11424/docker-proxy  
tcp        0      0 0.0.0.0:8500            0.0.0.0:*               LISTEN      11467/docker-proxy  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1201/sshd           
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      11360/docker-proxy  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1462/master         
二、常用命令
1)目录相关
建立目录 mkdir

mkdir -p [目录名]

-p 递归创建

命令英文原意:make directories

删除空目录:rmdir

rmdir[目录名]

英文原意:remove empty directories

2)复制cp

cp [选项] [原文件或目录][目标目录]
命令英文原意:copy
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr  ,目标文件和源文件一样

#复制文件
[root@kode dmp]# cp export.log export.log_bak
[root@kode dmp]# ll
total 60
-rw-r--r-- 1 oracle oinstall 26341 Jul 27 18:13 export.log
-rw-r--r-- 1 root   root     26341 Sep 15 13:29 export.log_bak
#复制目录
[root@kode dmp]# cp -r uat uat_bak
[root@kode dmp]# ll
total 32
-rw-r--r-- 1 oracle oinstall 26341 Jul 27 18:13 export.log
-rw-r--r-- 1 oracle oinstall   349 Jul 28 09:05 import.log
drwxr-xr-x 2 oracle oinstall    55 Jul 25 14:59 prod
drwxr-xr-x 2 oracle oinstall    82 Aug 27 09:09 uat
drwxr-xr-x 2 root   root        82 Sep 15 13:28 uat_bak
[root@kode dmp]# 
3)剪切或改名命令:mv

mv [原文件或目录][目标目录]

[root@kode dmp]# ll
total 32
-rw-r--r-- 1 oracle oinstall 26341 Jul 27 18:13 export.log
-rw-r--r-- 1 oracle oinstall   349 Jul 28 09:05 import.log
drwxr-xr-x 2 oracle oinstall    55 Jul 25 14:59 prod
drwxr-xr-x 2 oracle oinstall    82 Aug 27 09:09 uat
[root@kode dmp]# mv export.log uat/
[root@kode dmp]# cd uat
[root@kode uat]# ll
total 242908
-rw-r--r-- 1 oracle oinstall     26341 Jul 27 18:13 export.log
#同一个目录下时就是改名
[root@localhost tmp]# mv anaconda-ks.cfg longls
4)删除文件或目录:rm

删除文件或目录:rm
rm -rf [文件或目录]
英文原意:remove
选项:
   -r 删除目录
   -f 强制
注:请谨慎使用删除命令!!!

5)传输文件到其他机器:scp

传输文件到其他机器:scp [选项] [文件目录] [其他机器用户@IP:/目录]
选项:
-r 复制目录

#复制文件到其他机器
[admin@localhost ~]$ scp su_root.sh admin@10.253.50.183:/home/admin
admin@10.253.50.183's password: 
#复制目录到其他机器
[admin@localhost ~]$ scp -r df admin@10.253.50.183:/home/admin
admin@10.253.50.183's password: 
6)文件搜索
文件搜索命令locate

1.locate 文件名

在后台数据库中按文件名搜索,搜索速度更快

[root@localhost ~]# ls

anaconda-ks.cfg Desktop install.log install.log.syslog

[root@localhost ~]# locate install.log

/root/install.log

/root/install.log.syslog
文件搜索命令find

find [搜索范围][搜索条件] #搜索文件

 find / -name instal.log

#避免大范围搜索,会非常耗费系统资源

#find是在系统当中搜索符合条件的文件名。

  • * 匹配任意内容
  • ?匹配任意一个字符
  • [] 匹配任意一个中括号内的字符
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
[root@localhost ~]# find / -name install.log
/root/install.log
[root@localhost ~]# find /root -name "install.log*"
/root/install.log
/root/install.log.syslog
[root@localhost ~]# 
7)打包压缩/解打包解压缩
tar

a.打包

tar -cvf 打包文件名 源文件

选项:-c 打包 -v 显示过程 -f 指定打包后的文件名

e.g.

[root@localhost ~]# tar -cvf jp.tar jp
jp/
[root@localhost ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog jp jp.tar

b.解打包

tar -xvf 打包文件名

选项: -x 解打包

e.g.

tar -xvf longzls.tar
tar.gz压缩格式

其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式

打包

tar -zcvf 压缩包名.tar.gz 源文件

选项:-z:压缩为.tar.gz格式

解打包

tar -zxvf 压缩包名为.tar.gz

选项:-x:解压缩.tar.gz

打包时排除某个文件

打包settlement目录并排除config.js文件

tar -zcvf settlement.tar.gz settlement --exclude=settlement/config.js
三、查找大文件

使用场景:磁盘空间不足

查找大于100MiB的文件
find / -size +100M -ls
也可以查找一个区间大小的(比如 100MiB 和 200MiB )之间的文件
find / -size +100M -size -200M -ls
如果只看大小在 GB 范围内的所有文件,可以同时使用 du 命令和 grep 命令:
du -h -a /opt | grep "[0-9]G\b"
四、权限
1)身份权限说明

linux中访问文件/目录有三种身份:

  • u:文件的拥有者
  • g:文件所属的群组
  • o:其他用户

对于每个身份,又有四种权限

  • r:读权限(read)
    对于文件来讲就是可以读取其内容的权限,对于目录来讲无法查看目录里面的内容(ls 失败)

  • w:写权限(write)
    写权限:对于文件来讲就是可以向文件写数据,对于目录来讲无法删除目录里面的文件

  • x:可执行权限(execute)
    对于可执行文件来讲无法运行(可以看到颜色都变了),对于目录来讲无法进入目录(cd 失败)

  • s:特殊权限

2)数字权限使用格式

我们规定 数字 4 、2 和 1表示读、写、执行权限,即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,
如:
rwx = 4 + 2 + 1 = 7
rw = 4 + 2 = 6
rx = 4 +1 = 5

若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7
若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6
若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5

3)授权(chmod命令)

chmod [可选项] <mode> <file...>
参数说明

a.可选项(常用):
 -R, --recursive        change files and directories recursively 
 (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)

b.[mode] 
    权限设定字串,详细格式如下 :
    [ugoa...][[+-=][rwxX]...][,...],
    其中
    [ugoa...]
    u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
    [+-=]
    + 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
    [rwxX]
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

c.[file...]
    文件列表(单个或者多个文件、文件夹)
举例说明:

给脚本添加可执行权限:chmod +x start.sh

-rw-r--r--. 1 root root  275 Jul 19 10:36 jenkins_start.sh
[root@localhost ~]# chmod +x jenkins_start.sh 
-rwxr-xr-x. 1 root root  275 Jul 19 10:36 jenkins_start.sh

设置所有人可以读写及执行:chmod 777 file

chmod 777 file  (等价于  chmod u=rwx,g=rwx,o=rwx filechmod a=rwx file)

设置所有人可以读写及执行,并递归子目录及文件:chmod -R 777 file

drwxr-xr-x. 2 root root    6 Sep 15 13:05 file
[root@localhost ~]# chmod -R 777 file
[root@localhost ~]# ll
drwxrwxrwx. 2 root root    6 Sep 15 13:05 file
4)更改文件拥有者(chown命令)

chown [可选项] user[:group] file...

参数说明

使用权限:root
[可选项] : 同上文chmod
user : 新的文件拥有者的使用者 
group : 新的文件拥有者的使用者群体(group)

设置文件的用户为users群体的admin用户:chown admin:users import_sys.sql
设置当前目录下与子目录下的所有文件的拥有者为 oinstall 群体的 oracle:chown -R oracle:oinstall *

[root@kode prod]# ll
total 160604
-rw-r--r-- 1 oracle oinstall         0 Jul 25 14:59 import_sys.sql
-rw-r--r-- 1 root   root     164454400 Jul 25 09:57 settle_20220722.dmp
[root@kode prod]# chown admin:users import_sys.sql 
[root@kode prod]# ll
total 160604
-rw-r--r-- 1 admin users         0 Jul 25 14:59 import_sys.sql
[root@kode prod]# chown -R oracle:oinstall *
[root@kode prod]# ll
total 160604
-rw-r--r-- 1 oracle oinstall         0 Jul 25 14:59 import_sys.sql
-rw-r--r-- 1 oracle oinstall 164454400 Jul 25 09:57 settle_20220722.dmp
[root@kode prod]# 

五、vi&&vim
1)几种模式(这里只列举2种)
  • 普通模式(Normal mode)
    在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是vi&&vim启动后的默认模式。
    在普通模式中,有很多方法可以进入插入模式,比较普通的方式是按a(append/追加)键或者i(insert/插入)键进入插入模式
  • 插入模式(Insert mode)
    在这个模式中,大多数按键都会向文本缓冲中插入文本。
    在插入模式中,可以按ESC键回到普通模式
2)常用场景举例说明
修改配置文件

a.编辑配置文件application.yml
vi application.yml
b.输入 i 进入到插入模式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LZmVYoZt-1663290353944)(http://10.253.50.182:99/server/index.php?s=/api/attachment/visitFile&sign=b028f88e5bbc5dc32d3756dd95d54565)]
c.光标移动位置修改配置文件
d.插入模式下保存修改并退出:wq
e.插入模式下不保存修改并强制退出:q!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值