Linux学习笔记:Linux常用命令总结


前言

1、Linux的各种常用命令
2、对各命令参数选项的熟悉


Linux学习笔记:Linux常用命令总结

1. 目录命令

1.1 Linux目录结构

linux 只有一个根目录,没有分区。

家目录:当前登陆账户的目录,简写~

dyx@dyx:~/code/StudyNotes$ cd ~
dyx@dyx:~$ 

/root:特权账号root 目录

/etc/:配置文件目录

在这里插入图片描述

1.2 cd命令 切换工作目录

1. 切换到当前用户的家目录: cd / cd ~

2. 切换到上一级目录:cd ..

3. 切换到当前目录:cd .

4. 切换到根目录:cd /

5. 切换到指定目录:cd <绝对路径>

# 目录表示法
.        # 表示当前目录
./       # 表示当前目录

..      # 表示上级目录
../     # 表示上级目录
# 更换到/etc/vsftpd目录
cd /etc/vsftpd/

1.3 ls命令 显示目录下文件

1. 列出当前工作目录下的文件/文件夹的名称:ls

dyx@dyx:~$ ls
公共的  模板  视频  图片  文档  下载  音乐  桌面  programming  snap

2. 语法:ls [options] <path>

options:

  • -l:表示list,表示以详细列表的形式进行展示
  • -a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
  • -h:表示以可读性较高的形式显示,同时文件大小用k表示
  • -i:查询i节点
$ ls -lh
总用量 45M
drwxrwxr-x  4 dyx dyx 4.0K 1015 23:24 5.15.2
-rw-r--r--  1 dyx dyx  35K 1015 23:25 components.xml
drwxrwxr-x  2 dyx dyx 4.0K  926 15:56 dist
drwxrwxr-x  3 dyx dyx 4.0K 1113  2020 Docs
drwxrwxr-x  3 dyx dyx 4.0K 1113  2020 Examples
-rw-r--r--  1 dyx dyx 1.2K 1016 09:37 InstallationLog.txt
-rw-r--r--  1 dyx dyx   48 1015 23:25 installer.dat
drwxr-xr-x 43 dyx dyx 4.0K 1015 23:24 installerResources
drwxr-xr-x  2 dyx dyx 4.0K 1015 23:25 Licenses
-rwxr-xr-x  1 dyx dyx  45M 1015 23:25 MaintenanceTool
-rw-r--r--  1 dyx dyx 353K 1015 23:25 MaintenanceTool.dat
-rw-r--r--  1 dyx dyx  13K 1015 23:25 MaintenanceTool.ini
-rw-r--r--  1 dyx dyx  362 1015 23:25 network.xml
drwxrwxr-x  6 dyx dyx 4.0K 1015 23:24 Tools

用户组权限

-rwxr-xr-x

第一个字母:文件类型

-:二进制文件;d:目录;l:软链接文件

后九个字母:以三个字母为一组,表示用户组权限(所有者u、所属组g、其他人o)

r:读;w:写;x:执行;-:表示无相关权限

1.4 mkdir命令 创建目录

1. 在当前目录下创建一个新的文件夹:mkdir <foldername>

mkdir myfolder
# 可以一次创建多个目录
mkdir a b c

2. 递归创建:一次创建多层不存在的目录:mkdir -p <foldername>

dyx@dyx:~/programming$ mkdir -p a/b/c
dyx@dyx:~/programming$ tree a/
a
└── b
    └── c

2 directories, 0 files
# tree a/ 查看文件夹层级结构

2. 文件命令

2.1 touch命令 创建文件

语法:touch <filename>

touch test.txt
dyx@dyx:~/programming/a$ ls
b  test.txt

2.2 rm命令 删除文件/目录

1. 删除文件:rm <filename>

rm test.txt

2. 删除目录:rm -r <foldername>

rm -rf b

2.3 cp命令 拷贝文件/目录

1. 拷贝文件到指定目录:cp <filename> <path>

cp linux.txt ../testcpp/

2. 拷贝文件夹到指定目录:cp <foldername> <path>

cp -r myfolder/ ../testcpp/

2.4 mv命令 移动/重命名

1. 移动文件/文件夹:mv <filename/foldername> <path>

mv myfolder ../testcpp/

2. 重命名文件:mv <oldfilename> <newfilename>

mv myfile myfile01

2.5 cat命令 查看文件内容

1. 查看文件内容:cat <filename>

dyx@dyx:~/programming/testcpp$ cat test.cpp
#include <iostream>
using namespace std;

int main()
{
	cout << "Hello World!" << endl;
	return 0;
}

2. 查看文件,同时有行号:cat -n <filename>

$ cat -n test.cpp
     1	#include <iostream>
     2	using namespace std;
     3	
     4	int main()
     5	{
     6		cout << "Hello World!" << endl;
     7		return 0;
     8	}

2.6 less命令 分页查看文件

分页查看文件:less <filename>

操作:

  • 向下翻页:空格或 f
  • 向上翻页:PageUp
  • 下一行:Enter或↓
  • 上一行:↑
  • 退出:q
  • 搜索:/ <搜索项>,n 下一项

2.6 chmod命令 管理文件权限

1. 修改文件权限,用法1:chmod [{ugoa} {-+=} {rwx}] <filename/foldername>

$ ls -l issue
-rw-rw-r-- 2 dyx dyx 19 1020 22:10 issue
$ chmod u+x issue
$ ls -l issue
-rwxrw-r-- 2 dyx dyx 19 1020 22:10 issue

2. 修改文件权限,用法2:chmod [mode] <filename/foldername>

数字命令:r: 2^2=4,w: 2^1=2,x: 2^0=1

# 764: rwxrw-r--
$ chmod 764 issue
$ ls -l issue
-rwxrw-r-- 2 dyx dyx 19 1020 22:10 issue

文件和目录操作对应的权限:

文件:

  • r: cat/more/less/head/tail
  • w: vim
  • x: script command

目录:

  • r: ls
  • w: touch/mkdir/rmdir/rm
  • x: cd

3. 查找命令

3.1 find命令 查找文件

1. 以文件名查找文件:find <path> -name <filename>

不区分大小写:-iname

# 1.查找含有该名称的文件
$ find /etc -name *init*
/etc/apparmor/init
/etc/X11/xinit
/etc/X11/xinit/xinitrc
# 2.查找以该名称开头的文件
$ find /etc -name init*
/etc/apparmor/init
/etc/init.d
# 3.?可以匹配单个字符
$ find /etc -name init??
/etc/init.d

#在/home目录下查找以.txt结尾的文件名
find /home -name "*.txt"
#当前目录及子目录下查找所有以.txt和.pdf结尾的文件
find . -name "*.txt" -o -name "*.pdf"
#找出/home下不是以.txt结尾的文件
find /home ! -name "*.txt"

2. 按照文件大小查找:find <path> -size [+\-]<filesize>

3. 按照文件类型查找:find <path> -type <filetype>

f:文件;d:目录;l:软链接文件

4. 额外选项

-a:两个条件都满足

-o:两个条件满足一个即可

对搜索结果执行操作:-exec <command> {} \;

$ find /etc -name init* -exec ls -l {} \;
find: ‘/etc/cups/ssl’: 权限不够
总用量 4
drwxr-xr-x 2 root root 4096 1015 17:22 network-interface-security
总用量 156
-rwxr-xr-x 1 root root 2269  125  2022 acpid
-rwxr-xr-x 1 root root 5574  112  2022 alsa-utils
-rwxr-xr-x 1 root root 2055 1010  2021 anacron
-rwxr-xr-x 1 root root 3740  223  2022 apparmor
-rwxr-xr-x 1 root root 2915  510 21:23 apport

3.2 grep命令 文件内搜索

1. 在文件内搜索指定内容并显示:grep [option] <string> <filename>

option:

  • -i:不区分大小写搜索
  • -n:显示行号
  • -v:排除指定字符

string:

  • 指定字符前加^表示以指定字符开头
$ grep -in helloworld main.cpp
6:    cout << "HelloWorld!" << endl;

4. 压缩与解压缩命令

4.1 gzip/gnzip命令 .gz格式文件

1. 压缩文件为.gz格式:gzip <filename>

$ gzip main.cpp 
$ ls
main  main.cpp.gz

注意:gzip只能压缩文件,且会删除原文件

2. 解压.gz格式的压缩文件:gnzip <filename>

$ gunzip main.cpp.gz 
$ ls
main  main.cpp

4.2 tar命令 .tar.gz格式文件

tar选项:

  • -c:打包
  • -x:解包
  • -v:显示详细信息
  • -f:指定文件名
  • -z:压缩/解压缩

1. 压缩文件为.tar.gz格式:tar -zcf <xx.tar.gz> <foldername>

压缩testcpp文件夹下所有文件为testcpp.tar.gz

tar -czf testcpp.tar.gz testcpp/
$ tar -czf testcpp.tar.gz testcpp/
$ ls
a  HelloWorld  Linux常用命令.txt  testcpp  testcpp.tar  testcpp.tar.gz

2. 解压.tar.gz格式的压缩文件:tar -zxf <xx.tar.gz>

解压 testcpp.tar.gz到当前文件夹

tar -xzvf testcpp.tar.gz

4.3 rar和zip命令 .rar和.zip格式文件

rar testcpp/ testcpp.rar
#rar格式的压缩,需要先下载rar for linux
zip testcpp.zip testcpp/
#zip格式的压缩,需要先下载zip for linux
unrar e testcpp.rar
#rar格式的解压缩,需要先下载rar for linux
unzip testcpp.zip
#zip格式的解压缩,需要先下载zip for linux

5. 网络管理命令

5.1 w命令 查看用户登录详细信息

$ w
 10:02:37 up 29 min,  1 user,  load average: 0.94, 0.43, 0.64
USER     TTY      来自           LOGIN@   IDLE   JCPU   PCPU WHAT
dyx      :1       :1               09:35   ?xdm?   8:45   0.01s /usr/libexec/gd
  • tty:本地登录;pts远程终端
  • up:系统连续运行的时间
  • load average:系统负载
  • IDLE:累计空闲时间
  • JCPU:占用CPU时间

5.2 ifconfig命令 查看和设置网卡信息

语法:ifconfig <网卡名称> <IP地址>

$ ifconfig
enp3s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether d4:81:d7:5b:cd:3a  txqueuelen 1000  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 37818  bytes 33183918 (33.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 37818  bytes 33183918 (33.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.67.138  netmask 255.255.240.0  broadcast 192.168.79.255
        inet6 fe80::f4ea:f4e3:262e:d5ef  prefixlen 64  scopeid 0x20<link>
        ether 70:1c:e7:5a:cc:65  txqueuelen 1000  (以太网)
        RX packets 67157  bytes 71765884 (71.7 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 42863  bytes 8823344 (8.8 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

5.3 last命令 列出所有登入系统的用户信息

$ last
dyx      :1           :1               Sun Oct 23 09:35   still logged in
reboot   system boot  5.15.0-52-generi Sun Oct 23 09:33   still running
dyx      :1           :1               Sat Oct 22 20:20 - down   (01:50)
reboot   system boot  5.15.0-52-generi Sat Oct 22 20:17 - 22:10  (01:52)
dyx      :1           :1               Fri Oct 21 18:20 - down   (02:07)
reboot   system boot  5.15.0-52-generi Fri Oct 21 18:18 - 20:27  (02:08)
dyx      :1           :1               Fri Oct 21 13:35 - 13:40  (00:05)
reboot   system boot  5.15.0-52-generi Fri Oct 21 13:34 - 13:40  (00:06)
dyx      :1           :1               Fri Oct 21 08:36 - down   (00:32)
reboot   system boot  5.15.0-50-generi Fri Oct 21 08:35 - 09:09  (00:34)
dyx      :1           :1               Thu Oct 20 19:00 - down   (03:35)
reboot   system boot  5.15.0-50-generi Thu Oct 20 18:58 - 22:35  (03:36)
dyx      :1           :1               Thu Oct 20 17:13 - down   (00:17)
reboot   system boot  5.15.0-50-generi Thu Oct 20 17:10 - 17:31  (00:21)
reboot   system boot  5.15.0-50-generi Wed Oct 19 18:52 - 17:31  (22:38)
dyx      :1           :1               Sun Oct 16 09:30 - down   (00:44)
reboot   system boot  5.15.0-50-generi Sun Oct 16 09:28 - 10:15  (00:46)
dyx      :1           :1               Sat Oct 15 22:39 - crash  (10:49)
reboot   system boot  5.15.0-50-generi Sat Oct 15 22:36 - 10:15  (11:39)
dyx      :1           :1               Sat Oct 15 22:32 - down   (00:03)
reboot   system boot  5.15.0-50-generi Sat Oct 15 22:31 - 22:35  (00:04)
dyx      :1           :1               Sat Oct 15 20:52 - down   (01:38)
reboot   system boot  5.15.0-50-generi Sat Oct 15 20:51 - 22:30  (01:39)
dyx      :1           :1               Sat Oct 15 20:09 - down   (00:39)
reboot   system boot  5.15.0-50-generi Sat Oct 15 20:07 - 20:48  (00:41)
dyx      tty2         tty2             Sat Oct 15 19:18 - down   (00:18)
reboot   system boot  5.15.0-50-generi Sat Oct 15 19:16 - 19:36  (00:19)
dyx      tty2         tty2             Sat Oct 15 17:03 - down   (00:35)
reboot   system boot  5.15.0-50-generi Sat Oct 15 16:59 - 17:38  (00:39)

wtmp begins Sat Oct 15 16:59:17 2022

5.4 traceroute命令 显示数据到主机的路径

查询网络链路通畅

$ traceroute www.baidu.com
traceroute to www.baidu.com (110.242.68.3), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  2.220 ms  2.335 ms  2.509 ms
 2  192.168.10.1 (192.168.10.1)  4.864 ms *  9.310 ms

5.5 netstat命令 显示网络信息

语法:netstat [options]

options:

  • -t : tcp协议
  • -u : udp协议
  • -l : 监听
  • -r : 路由
  • -n : 显示IP地址和端口

通过查看开启端口进而查看本机开启的服务:netstat -tlun

$ netstat -tlun
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:7890          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:42037         0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
udp        0      0 0.0.0.0:44245           0.0.0.0:*                          
udp        0      0 0.0.0.0:52524           0.0.0.0:*                          
udp        0      0 224.0.0.251:5353        0.0.0.0:*                          
udp        0      0 224.0.0.251:5353        0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 127.0.0.1:7890          0.0.0.0:*                          
udp        0      0 127.0.0.53:53           0.0.0.0:*                          
udp        0      0 0.0.0.0:631             0.0.0.0:*                          
udp6       0      0 :::5353                 :::*                               
udp6       0      0 :::54799                :::*                               
udp6       0      0 :::60209                :::* 

查询已连接的服务:netstat -an

查询网关:netstat -rn

$ netstat -rn
内核 IP 路由表
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.64.254  0.0.0.0         UG        0 0          0 wlp2s0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlp2s0
192.168.64.0    0.0.0.0         255.255.240.0   U         0 0          0 wlp2s0

192.168.64.254为网关

6. 进程管理命令

6.1 ps命令 查看系统中所有进程

语法:ps aux

查看系统中所有进程,使用BSD操作系统格式

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0 166764 11756 ?        Ss   15:17   0:01 /sbin/init sp
dyx         4599  0.0  0.0 33575880 3448 ?       Sl   15:22   0:00 /opt/google/c
dyx         7953  0.0  0.0  19928  5308 pts/0    Ss   16:00   0:00 bash
dyx         7971  0.0  0.0  21340  3472 pts/0    R+   16:01   0:00 ps aux
  • USER:用户
  • PID:进程PID
  • %CPU:占用CPU资源百分比
  • %MEM:占用物理内存百分比
  • VSZ:占用虚拟内存的大小,单位KB
  • RSS:占用物理内存的大小,单位KB
  • TTY:该进程是在哪个终端运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地字符界面终端,tty7是图形终端。pts/0-256代表虚拟终端。
  • STAT:进程状态。R:运行,S:睡眠,T:停止状态,s:包含子进程,+:位于后台
  • START:进程起始时间

6.2 top命令 查看系统健康状态

语法:top [options]

options:

  • -d:更新秒数,默认是3秒

在top命令的交互模式下,按:

  • P:CPU使用率排序,降序
  • M:内存使用率排序
  • N:PID排序
  • ?或h:帮助
  • q:退出

load average:系统在之前1分钟、5分钟、15分钟的平均负载

87.5 id:空闲CPU所占百分比

6.3 kill命令 终止进程

语法:kill [信号] [进程号]

常用命令:

重启进程:kill -1 [进程号]

强制杀死进程:kill -9 [进程号]

6.4 pkill命令 管理系统用户

按照终端号踢出用户步骤:

查询本机已登录的用户:w

强制终止从终端号登录的进程:pkill -t -9 [终端号]

7. 关机命令

7.1 shutdown命令

语法:shutdown [options] [time]

options:

  • -h : 关机
  • -r : 重启
  • -c : 取消前一个关机命令

time:

  • now : 现在
  • hh:mm : 指定时间
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值