Linux命令补充

2020-03-19 09:12:52 浏览数 (1)

Linux常见命令补充

  • 虚拟机补充:virtualbox
  • 企业中使用最多的Linux系统是centos6和7
  • 掌握Linux常见的基本命令的操作,企业中服务器都是Unix系列的,深入学习参考运维课程
  • 宿主机(windows)连接虚拟机(centos),大部分人使用xshell(ssh),还用secureCRT,在Mac下使用Mac自带的工具也可使用finalshell

hostname查询主机名

代码语言:javascript复制
[root@zgh1 /]# hostname
zgh1
[root@zgh1 /]# hostname -f
zgh1
[root@zgh1 /]# hostname -i
fe80::d4f7:623:bc6b:938%ens33 10.0.0.200

ifconfig

查看用户网络配置。它显示当前网络设备配置

代码语言:javascript复制
[root@zgh1 /]# yum install net-tools
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.200  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::d4f7:623:bc6b:938  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:50:88:5c  txqueuelen 1000  (Ethernet)
        RX packets 1960  bytes 602944 (588.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1379  bytes 143087 (139.7 KiB)
        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  (Local Loopback)
        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

查询命令的具体用法 man

windows中的ping命令只执行4次,Linux中的ping会一直执行

清屏命令:clear、ctrl L

netstat -natup

代码语言:javascript复制
[root@zgh1 /]# yum install net-tools
[root@zgh1 /]# netstat -natup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1664/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1513/sshd           
tcp        0      0 10.0.0.200:22           10.0.0.1:7594           ESTABLISHED 1766/sshd: root@pts 
tcp6       0      0 ::1:25                  :::*                    LISTEN      1664/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1513/sshd 

ps查看进程

代码语言:javascript复制
[root@zgh1 /]# ps 
   PID TTY          TIME CMD
  1770 pts/0    00:00:00 bash
  2135 pts/0    00:00:00 ps

ps -aux 是列出当前服务器上所有的进程
| : 管道符 , 将左边执行的命令结果传给右边进行操作
grep : 用来进行筛选过滤
ps -aux | grep mysql : 查看mysql所有的相关进程

ps -ef (system v 输出) 
ps -aux bsd 格式输出
ps -ef | grep pid

kill

代码语言:javascript复制
杀死某一个进程 kill 服务的进程号
kill redis 任务id
killall redis杀死redis的所有进程
kill -9 服务的进程号 -9:强制杀死

service

代码语言:javascript复制
service命令能够将目录“/etc/init.d/”中有关网络服务或系统服务脚本程序以一种统
一的格式执行,格式为:“service 脚本程序 选项”,常用选项有:status、stop、
start、restart。
service命令使用举例如下:
service 服务名 status : 查看某一个服务的状态
service sshd status : 查看sshd服务的状态
service sshd start: 启动ssh的服务
service 服务名 restart : 重新启动一个服务
service sshd restart: 重新启动ssh的服务
service 服务名 stop关闭某一个服务,service sshd stop关闭sshd服务

systemctl

centos7中可以使用systemctl对服务进行操作

代码语言:javascript复制
systemctl status 服务名
systemctl start 服务名
systemctl restart 服务名

wget

wget是一个下载文件的工具

wget -O

使用wget -O下载并以不同的文件名保存(-O:下载文件到对应目录,并且修改文件名称)

代码语言:javascript复制
[root@zgh1 movie1]# wget -O baidu www.baidu.com
--2020-03-09 15:26:09--  http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 220.181.38.150
Connecting to www.baidu.com (www.baidu.com)|220.181.38.150|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: ‘baidu’

100%[==========================>] 2,381       --.-K/s   in 0s      

2020-03-09 15:26:09 (233 MB/s) - ‘baidu’ saved [2381/2381]

[root@zgh1 movie1]# ls
baidu  dir1

wget -S 域名 :下载响应内容,打印服务器响应

代码语言:javascript复制
[root@zgh1 movie1]# wget -S www.baidu.com
--2020-03-09 15:31:51--  http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 220.181.38.149, 220.181.38.150
Connecting to www.baidu.com (www.baidu.com)|220.181.38.149|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Content-Length: 2381
  Content-Type: text/html
  Server: bfe
  Date: Mon, 09 Mar 2020 07:32:49 GMT
Length: 2381 (2.3K) [text/html]
Saving to: ‘index.html’

100%[==========================>] 2,381       --.-K/s   in 0s      

2020-03-09 15:31:51 (76.6 MB/s) - ‘index.html’ saved [2381/2381]

[root@zgh1 movie1]# ls
baidu  dir1  index.html

具体用法参考链接

https://www.cnblogs.com/ftl1012/p/9265699.html

top

代码语言:javascript复制
查看正在运行的进程和线程

lrzsz

该命令用于向服务器上传和下载文件

代码语言:javascript复制
yum install lrzsz* -y
rz从宿主机上上传文件到虚拟机
sz从虚拟机下载文件到宿主机

df -h

查看磁盘使用情况

代码语言:javascript复制
[root@zgh1 movie1]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.6M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root  8.0G  1.8G  6.3G  22% /
/dev/sda1               1014M  137M  878M  14% /boot
tmpfs                     98M     0   98M   0% /run/user/0

tree

以tree的形式展开当前目录

代码语言:javascript复制
[root@zgh1 movie1]# tree
.
├── baidu
├── dir1
│   └── test
│       └── file.txt
└── index.html

2 directories, 3 files

su

Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

使用权限:所有使用者。切换用户,切换完成后,还在上一用户的家目录,详细使用参考链接

https://www.runoob.com/linux/linux-comm-su.html

sudo

以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

详细使用方法参考

https://www.cnblogs.com/ftl1012/p/sudo.html

history

代码语言:javascript复制
记录历史命令, 一般记录1000条左右
执行历史记录的话, !命令行号
[root@zgh1 movie1]# history
  399  df -h
  400  history
[root@zgh1 movie1]# !399
df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.6M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root  8.0G  1.8G  6.3G  22% /
/dev/sda1               1014M  137M  878M  14% /boot
tmpfs                     98M     0   98M   0% /run/user/0

wc

代码语言:javascript复制
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

1.命令格式:

  wc [选项]文件...

2.命令功能:

  统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。

3.命令参数:

  -c 统计字节数。

  -l 统计行数。

  -m 统计字符数。这个标志不能与 -c 标志一起使用。

  -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

  -L 打印最长行的长度。

  -help 显示帮助信息

  --version 显示版本信息
wc 命令 - c 统计字节数 - l 统计行数 - w 统计字数。
[root@zgh1 movie1]# ls
baidu  dir1  index.html
[root@zgh1 movie1]# wc -c index.html 
2381 index.html
[root@zgh1 movie1]# wc -l index.html 
2 index.html
[root@zgh1 movie1]# wc -L index.html 
2315 index.html

grep

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。

grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户

代码语言:javascript复制
-c:只输出匹配行的计数。
-i:不区分大小写。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
--color=auto :可以将找到的关键词部分加上颜色的显示


$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。
#显示所有以f开头的文件中包含love的行
[root@zgh1 movie1]# ls
baidu  dir1  file1.txt  index.html
[root@zgh1 movie1]# grep 'love' f*
love you
love you

$ grep ‘test’ aa bb cc
显示在aa,bb,cc文件中匹配test的行。

$ grep ‘[a-z]{5}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$ grep ‘w(es)t.*1′ aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(1),找到就显示该行。
如果用egrep或grep -E,就不用””号进转义,直接写成’w(es)t.*1′就可以了。

详细介绍参考:

https://www.cnblogs.com/xiangtingshen/p/10927081.html

&

一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)

jobs

查看后台运行的进程,如果后台没有进程在运行则什么也不显示。

代码语言:javascript复制
在用管理员执行一个命令后,用Ctrl Z把命令转移到了后台。导致无法退出root的。
输入命令:exit
终端显示:There are stopped jobs.

解决方法:
方法一、输入命令:jobs
终端显示:[1]  Stopped vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /)
KILL %1

方法二、输入命令:jobs -l
终端显示:[1]  4664 停止 vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /)

看到4664,这个就是PID了

现在开始杀掉它:
输入命令:kill 4664
终端没有显示
再用jobs命令查看,确认进程已经杀掉了

搜索文件命令

代码语言:javascript复制
find <指定目录> <指定条件> <指定动作>
whereis 加参数与文件名
locate 只加文件名
find 直接搜索磁盘,较慢。
find / -name "string*"

Linux常见面试题

参考链接

https://www.cnblogs.com/passzhang/p/8552757.html

0 人点赞