【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 %工作号 将后台暂停的工作恢复到后台执行
          • ⑸后台命令脱离终端的方法
      • 二 文件相关
        • 1. pwd
        • 2. cd
        • 3. ls
        • 4. find
        • 5. chmod 修改文件权限
        • 6. mv
        • 7. cp 主要用于复制文件或目录
        • 8. scp 跨服务器复制
        • 9. rm 删除文件或文件夹
        • 10. 解压缩
        • 11. stat 查看文件元信息
        • 12. 软连接
        • 13. 硬连接
      • 三 文本相关
        • 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域名解析命令

一 系统相关

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

二 文件相关

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 源文件 目标文件

三 文本相关

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

你可能感兴趣的:(Linux)