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