一、Centos7基础应用命令
1、系统操作命令
1)系统相关运行命令
系统关机:
halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
shutdown -c命令取消重启
系统重启:
reboot 普通重启
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
shutdown -c命令取消重启
2)目录路径相关命令
ls (list) 打印当前目录文件
-l 打印当前详细文件列表
-a 打印当前所有文件(包含隐藏文件)
-d ls -ld /tmp 只查看指定tmp目录自身信息,不查看tmp目录里面的文件信息
例:ls /tmp -la 打印/tmp目录下所有文件详细文件列表
例:[root@localhost ~]# ls /tmp/aa.txt
ls: cannot access /tmp/aa.txt: No such file or directory 当前目录下没有该文件
ls -ltr /etc/ -- 按照时间进行排序显示数据信息,并且是反向排序
mkdir(make directory) 创建目录
-p 递归创建多个目录
例:mkdir /tmp/centos 在/tmp目录下创建centos目录
例:[root@localhost tmp]# mkdir /tmp/centos
mkdir: cannot create directory ‘/tmp/centos’: File exists #当前目录己存在
例: [root@localhost tmp]# mkdir /tmp/centos/aa/bb/cc -p
cd 切换目录
cd /tmp 切换到/tmp目录
pwd 查看当前所在路径
绝对路径与相对路径
相对路径 如:cd .. 回到上级目录,cd ~ 进入家目录,cd - 返回进入此目录之前所在的目录
绝对路径 如:cd /tmp/centos
3)编辑文件的相关命 令
touch 创建文件
如:touch /tmp/a.txt
vi 或 vim 编辑文件内容
如:vi /tmp/a.txt 进入编辑窗口
第一步:vi /tmp/a.txt 第二步:按键盘a键进入编辑状态 第三步:
编辑完后按键盘ESC键退出编辑模式, 然后输入:wq 保存并退出,
如果不想保存,可以按键盘ESC键退出编辑模式, 然后输入:q! 直接退出,
echo 在屏幕打印内容 echo "hello world"
> 标准输出重定向符号 echo "hello world" > /tmp/a.txt 先清空文件内容再添加新的信息
>> echo "hello world" > /tmp/a.txt 不清空文件内容,把新的内容追加到文件最后一行
4)查看文件内容的命令
cat 查看文件内容 如: cat /tmp/a.txt
cat文件生成用法:
方法一:
[root@dingjian tmp]# cat>>cc<<EOF
> i am studying linux
> EOF
方法二:
[root@dingjian tmp]# cat>cc.txt
I am studying linux
回车
ctrl+c退出
more 查看文件内容 如: cat /tmp/a.txt
5)复制保存文件命令
copy
用法:cp 要复制的数据信息 复制到哪个目录
复制文件 cp /tmp/a.txt /tmp/centos/
cp /tmp/a.txt /tmp/centos/ 在cp命令前加符号,强行复制并覆盖目录下相同的文件
复制目录 cp -r /etc /tmp/centos/
6)删除移动数据命令
rm 删除文件或目录
rm -f /tmp/a.txt 强行删除文件
rm -r /tmp/centos 删除目录
rm -rf /tmp/centos 强行删除目录及目录里的数据
mv 移动文件或目录
mv /etc/redhat.txt /tmp/ 移动文件
mv -f a.txt /tmp/ 强行复制文件
mv /etc /tmp/ 移动目录
mv /tmp/a.txt /tmp/b.txt 修改文件名称
6)查看磁盘使用情况
df 查看磁盘使用情况
[root@mrxiong ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 36G 1.2G 34G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 1014M 138M 877M 14% /boot tmpfs 378M 0 378M 0% /run/user/0
8)系统帮助
--help 如:查看mkdir命令的帮助 mkdir --help
man 如:查看mkdir命令的帮助 man mkdir
[root@localhost ~]# man mkdir NAME #命令的作用说明 mkdir - make directories SYNOPSIS #命令的使用方法 mkdir [OPTION]... DIRECTORY... DESCRIPTION #命令的参数解译 Create the DIRECTORY(ies), if they do not already exist. Mandatory arguments to long options are mandatory for short options too. -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask
9)快捷方式的使用方法
ctrl+a 将光标快速移动到行首
ctrl+e 将光标快速移动到行尾
ctrl+?? ?? 将光标按单词快速左右移动
ctrl+w 将空格分隔的一个字符串整体进行删除(剪切)
ctrl+u 将光标所在位置到行首内容进行删除(剪切)
ctrl+k 将光标所在位置到行尾内容进行删除(剪切)
ctrl+y 粘贴剪切的内容
ctrl+s xshell进入到了锁定状态 suo锁
ctrl+q 解除锁定状态 quit推出锁定状态
10)查看远程服务没有开启
服务端进行测试
systemctl status sshd
ss == netstat
[root@mrxiong ~]# ss -lntup Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 127.0.0.1:323 *:* users:(("chronyd",pid=908,fd=1)) udp UNCONN 0 0 ::1:323 :::* users:(("chronyd",pid=908,fd=2)) tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=2540,fd=3)) tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",pid=1433,fd=13)) tcp LISTEN 0 128 :::22 :::*
-l list --- 列表显示网络服务信息
-n number --- 以数字方式进行显示
-t tcp --- 网络协议
-u udp --- 网络协议
-p process --- 显示服务进程信息
面试题:
1. 已知一个服务的名称,请告知服务的端口号是什么
2. 已知一个服务的端口,请给出端口号对应服务进程信息
如何有netstat命令
yum install -y net-tools
[root@mrxiong ~]# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3365/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1433/master tcp6 0 0 :::22 :::* LISTEN 3365/sshd tcp6 0 0 ::1:25 :::* LISTEN 1433/master udp 0 0 127.0.0.1:323 0.0.0.0:* 908/chronyd udp6 0 0 ::1:323 :::* 908/chronyd
只检查有22端口的信息
[root@mrxiong ~]# ss -lntup|grep "22" tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=3365,fd=3)) tcp LISTEN 0 128 :::22 :::* users:(("sshd",pid=3365,fd=4))
11). 查看文件信息方法
1) 查看文件或者目录的属性信息
命令: ls查看数据信息
[root@centosdu ~]# ls /mrxiong --- 查看目录中有什么数据信息
mrxiong01 mrxiong.txt oldgirl.txt
[root@centosdu ~]# ls /mrxiong/mrxiong.txt --- 查看目录中文件信息是否存在
/mrxiong/mrxiong.txt
[root@centosdu ~]# ls -l /mrxiong/mrxiong.txt --- 查看文件属性信息
-rw-r--r--. 1 root root 50 Apr 1 10:24 /mrxiong/mrxiong.txt
[root@centosdu ~]# ls -ld /mrxiong/ --- 查看目录属性信息
drwxr-xr-x. 3 root root 59 Apr 11 10:23 /mrxiong/
[root@centosdu ~]# ls -la /mrxiong/ --- 查看目录中所有数据信息,包含隐藏文件
total 8
drwxr-xr-x. 3 root root 59 Apr 11 10:23 .
dr-xr-xr-x. 21 root root 282 Mar 29 16:21 ..
drwxr-xr-x. 3 root root 100 Apr 1 11:00 mrxiong01
-rw-r--r--. 1 root root 50 Apr 1 10:24 mrxiong.txt
-rw-r--r--. 1 root root 18 Apr 11 10:23 oldgirl.txt
企业工作的一个问题:
多个运维人员维护服务器,下班着急回家,交代:将mrxiong目录中最新的数据文件需要继续编辑好
ls -ltr /etc/ -- 按照时间进行排序显示数据信息,并且是反向排序
2) 查看文件内容信息方法
命令: cat
[root@centosdu ~]# cat /mrxiong/mrxiong.txt --- 查看单个文件
hello world
mrxiong shenzhen 01
mrxiong shenzhen 02
[root@centosdu ~]# cat /mrxiong/mrxiong.txt /mrxiong/oldgirl.txt --- 查看多个文件
hello world
mrxiong shenzhen 01
mrxiong shenzhen 02
mrxiong01
mrxiong02
[root@centosdu ~]# cat -n /mrxiong/mrxiong.txt --- 查看文件时,显示每行的行号
1 hello world
2 mrxiong shenzhen 01
3 mrxiong shenzhen 02
命令: less/more
less /etc/service --- 类似于看书,一点点查看文件内容
向下逐行显示: 回车
向下逐页显示: 空格
向上逐行显示: 方向键上
向上逐页显示: 字母b
搜索信息: /搜索的字符串信息
[root@centosdu ~]# less -N /etc/services
1 # /etc/services:
2 # $Id: services,v 1.55 2013/04/14 ovasik Exp $
3 #
4 # Network services, Internet style
5 # IANA services version: last updated 2013-04-10
按q结束查看
more /etc/service --- 类似于看书,一点点查看文件内容
向下逐行显示: 回车
向下逐页显示: 空格
向上逐行显示: 字母f/b
head 前几行
tail 后几行
04. 直接编辑文件命令方法
a 如何直接在文件中添加单行内容
echo "mrxiong" >>/mrxiong/mrxiong.txt
补充: echo命令用法说明:
01. 请在屏幕上输出 centosdu.com信息
02. 请在屏幕上输出 1 2 3 .... 100 的数字信息
输出序列信息
a 显示连续的序列
[root@centosdu ~]# echo {1..100} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 [root@centosdu ~]# echo {01..100} 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100
b 显示不连续的序列
a 不连续有规律的序列
问题:
显示1..10 的奇数信息 1 3 5 7 9
显示1..10 的偶数信息
[root@centosdu ~]# echo {01..10..2}
01 03 05 07 09
[root@centosdu ~]# echo {02..10..2}
02 04 06 08 10
b 不连续无规律的序列
mkdir -p /mrxiong/mrxiong01/mrxiong02/{www,bbs,blog}
练习题一:
在mrxiong目录下面创建出20个文件,二十个文件名称为 mrxiong01,mrxiong02 ..mrxiong20
touch
b 如何直接在文件中添加多行内容
[root@centosdu ~]# cat /mrxiong/mrxiong.txt hello world mrxiong shenzhen 01 mrxiong shenzhen 02 [root@centosdu ~]# cat >> /mrxiong/mrxiong.txt <<EOF > mrxiong01 > mrxiong02 > mrxiong03 > EOF [root@centosdu ~]# cat /mrxiong/mrxiong.txt hello world mrxiong shenzhen 01 mrxiong shenzhen 02 mrxiong01 mrxiong02 mrxiong03 [root@centosdu ~]# cat >> /mrxiong/mrxiong.txt <<mrxiong > mrxiong04 > mrxiong05 > mrxiong [root@centosdu ~]# cat /mrxiong/mrxiong.txt hello world mrxiong shenzhen 01 mrxiong shenzhen 02 mrxiong01 mrxiong02 mrxiong03 mrxiong04 mrxiong05
05. 过滤筛选文件内容命令
三剑客命令
老三: grep 过滤筛选信息
老二: sed 修改替换文件内容 擅长对文件中的行进行操作
老大: awk 擅长统计分析文件内容 擅长对文件中列进行操作
grep命令如何进行过滤:
编辑一个测试文件
[root@centosdu ~]# cat >> /mrxiong/test.txt <<EOF > mrxiong01 > oldgirl01 > olddog01 > mrxiong02 > oldgirl02 > olddog02 > EOF [root@centosdu ~]# cat /mrxiong/test.txt mrxiong01 oldgirl01 olddog01 mrxiong02 oldgirl02 olddog02
需求01: 请筛选出有mrxiong的信息
[root@centosdu ~]# grep "mrxiong" /mrxiong/test.txt mrxiong01 mrxiong02
需求02: 筛选有oldgirl的信息,但是要有oldgirl信息的上一行信息也显示
[root@centosdu ~]# grep -B 1 "oldgirl" /mrxiong/test.txt mrxiong01 oldgirl01 -- mrxiong02 oldgirl02
需求03: 筛选有oldgirl的信息,但是要有oldgirl信息的下一行信息也显示
[root@centosdu ~]# grep -A 1 "oldgirl" /mrxiong/test.txt oldgirl01 olddog01 -- oldgirl02 olddog02
需求04.筛选有oldgirl的信, 但是要有oldgirl信息的下一行和下一行信息也显示
[root@centosdu ~]# grep -C 1 "oldgirl" /mrxiong/test.txt mrxiong01 oldgirl01 olddog01 mrxiong02 oldgirl02 olddog02
需求05. 统计oldgirl信息在文件中出现了几次
[root@centosdu ~]# grep -c "oldgirl" /mrxiong/test.txt
sed命令如何进行过滤信息
[root@centosdu ~]# sed -n "/mrxiong/p" /mrxiong/test.txt mrxiong01 edu.com mrxiong02
p print 将过滤信息输出
-n 取消原文件的所有内容输出(取消默认输出)
[root@centosdu ~]# awk "/mrxiong/" /mrxiong/test.txt mrxiong01 edu.com mrxiong02
06. 修改文件部分内容信息
01. sed命令 (师傅: 真正修改文件内容)
需求: 修改test.txt文件内容 将所有mrxiong信息修改替换为 python
vim 替换: :%s#mrxiong#python#g
sed 's#mrxiong#python#g' /mrxiong/test.txt
实践操作
[root@centosdu ~]# sed 's#mrxiong#python#g' /mrxiong/test.txt python01 edu.com oldgirl01 olddog01 python02 oldgirl02 olddog02 [root@centosdu ~]# cat /mrxiong/test.txt mrxiong01 edu.com oldgirl01 olddog01 mrxiong02 oldgirl02 olddog02 [root@centosdu ~]# sed -i 's#mrxiong#python#g' /mrxiong/test.txt [root@centosdu ~]# cat /mrxiong/test.txt python01 edu.com oldgirl01 olddog01 python02 oldgirl02 olddog02
02. tr命令 (徒弟: 假装修改文件内容)
需求: 修改test.txt文件内容 将所有python信息修改替换为 mrxiong
[root@centosdu ~]# tr "python" "mrxiong" </mrxiong/test.txt mrxiong01 edu.com oldgirl01 olddog01 mrxiong02 oldgirl02 olddog02 [root@centosdu ~]# cat /mrxiong/test.txt python01 edu.com oldgirl01 olddog01 python02 oldgirl02 olddog02
tr用法
[root@centosdu ~]# echo 123|tr "123" "abc"
abc
小于号用法1:
[root@centosdu ~]# tr "123" "abc" < /mrxiong/test01.txt
abc
[root@centosdu ~]# cat /mrxiong/test01.txt
123