1. ifconfig
用于获取网卡信息与网络状态
1)网卡名称:eno167777728
2)IP 地址: inet后面的参数
3)MAC地址:ether参数后面
4)接受数据包大小:RX packages
5)发送数据包大小: TX packages
RX与TX的数据大小是累积的,直到下次重启。
2.uname
- 用于查看系统内核与系统版本等信息
- 格式: uname -
- uptime
用于查看系统CPU负载
- Free
用于查看系统内存负载
4.who
用于查看当前登陆主机的用户终端信息
5last
用于查看系统的所有的登陆记录。登陆记录可以被修改,所以不能以此来判断是否被入侵。
6.history(重要命令)
- 用于显示历史执行过的命令
- 格式:history 只显示最近1000条的命令记录,当1000
条不够时,可以自定义/etc/profile中的HISTSIZE的值
history -c 清空所有命令的历史记录
!某个命令记录的序号 可以反复执行该命令
历史命令会被保存到家目录的.bash_history文件中。
Linux系统中以(.)点开头的文件均代表隐藏文件,可以用cat命令查看文件内容。
8.sosresport,输入命令后,需要再按两次回车键。
用于收集系统配置及架构信息并输出诊断文档,大约70个信息,输出的文档格式为.tar.xz压缩包,找到这个压缩吧解压便可查看寻找问题。
9.pwd
显示用户当前所在的工作目录/路径
10.cd
- 用于切换工作路径/所在目录
- 格式:cd /ect 切换到ect目录或者路径下, / 符号不能 少
cd .. 返回到上一级目录
Cd ~ 切换到当前用户的家目录
cd ~username 切换到其他用户的家目录
cd - 返回到上一次所在目录
cd 切换到家目录
[root@linuxprobe Desktop]# pwd
/root/Desktop 现在所在的目录
[root@linuxprobe Desktop]# cd /etc/fonts/conf.d
[root@linuxprobe conf.d]# pwd
/etc/fonts/conf.d 切换到/etc/fonts/conf.d 目录下
[root@linuxprobe conf.d]# cd ~
[root@linuxprobe ~]# pwd
/root 直接到了根目录下
[root@linuxprobe ~]# cd /etc/fonts/conf.d 可以直接用cd -切换到
[root@linuxprobe conf.d]# pwd
/etc/fonts/conf.d 可以直接用cd -切换到/etc/fonts/conf.d目录
[root@linuxprobe conf.d]# cd ..
[root@linuxprobe fonts]# pwd
/etc/fonts
[root@linuxprobe fonts]# cd -
/etc/fonts/conf.d
[root@linuxprobe conf.d]# pwd
/etc/fonts/conf.d
[root@linuxprobe conf.d]#
11.ls命令
- 用于显示目录中的文件信息
- 格式: ls (显示文件)
ls -a (显示所有文件,包括隐藏文件)
ls -l (显示文件详细信息,包括权限属性等)
ls -d (查看目录属性信息)
ls -ld (显示目录属性信息及目录详细信息)
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# pwd
/root
[root@linuxprobe ~]# ls 不显示隐藏文件
A Desktop Downloads liming Pictures Templates
anaconda-ks.cfg Documents initial-setup-ks.cfg Music Public Videos
[root@linuxprobe ~]# ls -a 显示隐藏文件
. .bash_profile Desktop 所有以点开头的文 liming Templates 件都是 隐藏文件
.. .bashrc Documents .local Videos
A .cache Downloads 省略
[root@linuxprobe ~]# ls -l
total 8
-rw-r--r--. 1 root root 0 Feb 18 05:05 A
-rw-------. 1 root root 1196 Jan 26 17:06 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Jan 28 00:11 Desktop
drwxr-xr-x. 2 root root 6 Jan 28 00:11 Documents
drwxr-xr-x. 2 root root 6 Jan 28 00:11 Downloads
-rw-r--r--. 1 root root 1247 Jan 26 09:08 initial-setup-ks.cfg
-rw-r--r--. 1 root root 0 Feb 18 04:45 liming
省略
[root@linuxprobe ~]# ls -d
.
[root@linuxprobe ~]# ls -ld
dr-xr-x---. 14 root root 4096 Feb 18 05:05 .
以下命令是文本编辑命令,在Linux系统中一切都是文件,包括程序服务,设备(鼠标键盘硬盘等)保存成文件形式。要对服务程序进行修改配置就是要对其对应的文件进行编辑。
- cat
- 查看纯文本文档(内容较少)
- 格式 cat [文件命]
Cat -n [文件名] 显示内容及行号
[root@linuxprobe ~]# cat -n anaconda-ks.cfg
1 #version=RHEL7
2 # System authorization information
3 auth --enableshadow --passalgo=sha512
4
5 # Use CDROM installation media
6 cdrom
7 # Run the Setup Agent on first boot
8 firstboot --enable
9 ignoredisk --only-use=sda
10 # Keyboard layouts
11 keyboard --vckeymap=us --xlayouts='us'
12 # System language
13 lang en_US.UTF-8
14
15 # Network information
13.more
查看内容比较多的纯文本文件,较大的文件 用cat命令时内容会快速翻转,无法看清,用more命令时内容会以分页形式显示,用回车键或者空格键继续查看下面的信息。
- head
- 查看纯文文档的前N行
- 格式: head -N [文件名]
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@linuxprobe ~]# head -10 anaconda-ks.cfg
#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
[root@linuxprobe ~]#
- tail命令
- tail -N [文件名]:看后N行的信息
- tail -f [文件名] 可以持续刷新一个文件的内容,当想要查看最新的日志文件时特别有用
- tr
- 用于替换文本文件中的字符
- 格式 tr [原始字符] [目标字符]
用cat/more/head/tail 命令显示文件信息时字母都是小写,通过tr 命令就可以把小写改成大写显示在终端中。
cat [文件名] | tr [a-z] [A-Z]
| 管道符
[] 通配符
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@linuxprobe ~]# head -10 anaconda-ks.cfg 显示前10行信息,字母都是小写
#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
[root@linuxprobe ~]# head -10 anaconda-ks.cfg | tr [a-z] [A-Z] 显示前10行信息,
#VERSION=RHEL7 切字母都变成大写
# SYSTEM AUTHORIZATION INFORMATION
AUTH --ENABLESHADOW --PASSALGO=SHA512
# USE CDROM INSTALLATION MEDIA
CDROM
# RUN THE SETUP AGENT ON FIRST BOOT
FIRSTBOOT --ENABLE
IGNOREDISK --ONLY-USE=SDA
# KEYBOARD LAYOUTS
注意:仅仅是在查看时变成大写了,并没有把文件改成大写
- wc
- 用于统计文本的行数,字数,字节数
- 格式:wc -l [文件名] 只统计行数
wc -w [文件名] 只统计字数
wc -c [文件名] 只统计字节数
wc [文件名] 等于wc -lwc [文件名]
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@linuxprobe ~]# wc anaconda-ks.cfg
47 103 1196 anaconda-ks.cfg 数字分别是行数,字数,字节数
[root@linuxprobe ~]# wc -lwc anaconda-ks.cfg
47 103 1196 anaconda-ks.cfg 两者结果一样
[root@linuxprobe ~]# wc -l anaconda-ks.cfg
47 anaconda-ks.cfg
[root@linuxprobe ~]# wc -w anaconda-ks.cfg
103 anaconda-ks.cfg
[root@linuxprobe ~]# wc -c anaconda-ks.cfg
1196 anaconda-ks.cfg
[root@linuxprobe ~]#
3)可用于统计当前系统有多少个用户,passwd是用于保存系统账户的文件,便可以用 wc -l /etc/passwd 命令查询
[root@linuxprobe ~]# wc -l /etc/passwd
38 /etc/passwd 查询到系统有38个用户
[root@linuxprobe ~]# who 查询的是登陆主机的终端数,有3个终端数
root :0 2020-02-17 10:15 (:0)
root pts/0 2020-02-17 10:15 (:0)
root pts/1 2020-02-17 10:26 (:0)
[root@linuxprobe ~]#
- stat
- 查看文件的具体存储信息和时间等信息
- 格式: stat [文件名]
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@linuxprobe ~]# stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: 1196 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 68802476 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
Access: 2020-02-17 09:21:27.145018849 -0500 最后一次查看文件内容的时间
Modify: 2020-01-26 17:06:51.421078736 -0500 最后一次修改文件内容的时间
Change: 2020-01-26 17:06:51.421078736 -0500 最后一次修改文件属性的时间
Birth: -
- cut
1)用于按列提取文本字符
2)格式:cut [参数] [文件名]
参数: -d 来设置间隔符
-f 来设置需要看的列数
列子:查看用户名称,wc -l /etc/passwd命令中查询到在etc路径/目录下passwd文件中有38个账户,那么就可以用 cut -d [间隔符] -f [列数] [文件名]来提取账户名称。
[root@linuxprobe Desktop]# head -5 /etc/passwd 通过读取paswd文件中前5行的
root:x:0:0:root:/root:/bin/bash 内容得知可以提取冒号(:)作为-d
bin:x:1:1:bin:/bin:/sbin/nologin 后面的分隔符,第一列是用户名
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
提取用户名:
[root@linuxprobe Desktop]# cut -d : -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
operator
games
ftp
nobody
dbus 后面省略
- diff
- 用于比较多个文本文件的差异,
- 格式:diff [参数] [文件A] [文件B]
diff --brief [文件A] [文件B] 只比较A和B是否相同
diff -c[文件A] [文件B] 描述文件哪里不同,以叹号!指示
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@linuxprobe ~]# diff --brief anaconda-ks.cfg initial-setup-ks.cfg
Files anaconda-ks.cfg and initial-setup-ks.cfg differ 表示文件不同
[root@linuxprobe ~]# diff -c anaconda-ks.cfg initial-setup-ks.cfg
*** anaconda-ks.cfg 2020-01-26 17:06:51.421078736 -0500
--- initial-setup-ks.cfg 2020-01-26 09:08:28.435022976 -0500
***************
*** 1,27 ****
省略
# Network information
network --bootproto=dhcp --device=eno16777728 --onboot=off --ipv6=auto
! network --hostname=linuxprobe.com !号后面就是不同的内容
# Root password
rootpw --iscrypted
省略
! network --bootproto=dhcp --hostname=linuxprobe.com
# Root password
rootpw --iscrypted $6$KDzGqxBFZ6W7u0uu$6Z3xZLfm36tw19WP5Cj14N6/SRgJR8YCi9J98zaliSMUrFbL/ 省略
bash: [root@linuxprobe: command not found...
以下是文件及文件目录的管理命令:
- touch
- 用于创建空白文件或设置文件信息
- 格式:touch [文件名] 新建空白文件
[root@linuxprobe Desktop]# cd ~
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@linuxprobe ~]# touch A 在根目录下新建一个叫A的文件
[root@linuxprobe ~]# ls 用ls命令便可以显示出来A文件
anaconda-ks.cfg Documents initial-setup-ks.cfg Music Public Videos
Desktop Downloads A Pictures Templates
[root@linuxprobe ~]# cat A 用cat命令查看A的内容,显示空白
[root@linuxprobe ~]#
touch -a “时间” [文件名] 修改文件的读取时间
touch -m “时间” [文件名] 修改文件的修改时间
touch -d “时间” [文件名] 修改文件的读取和修改时间
[root@linuxprobe Desktop]# ls
A~ AbbA~ DD~
[root@linuxprobe Desktop]# touch 1a1
[root@linuxprobe Desktop]# ls
1a1 A~ AbbA~ DD~
[root@linuxprobe Desktop]# cat 1a1 读取1a1文件是空白
[root@linuxprobe Desktop]# ls -l 1a1
-rw-r--r--. 1 root root 0 Feb 18 07:47 1a1 文件修改的时间是07:47
[root@linuxprobe Desktop]# cat 1a1 对1a1文件进行编辑,读取出内容
12111
[root@linuxprobe Desktop]# ls -l 1a1
-rw-r--r--. 1 root root 6 Feb 18 07:49 1a1 这时修改的时间为07:49
[root@linuxprobe Desktop]#
[root@linuxprobe Desktop]# touch -d "07:47 " 1a1 把修改时间改回07:47
[root@linuxprobe Desktop]# ls -l 1a1
-rw-r--r--. 1 root root 6 Feb 18 07:47 1a1
- mkdir
- 用于创建空白的目录
- 格式: mkdir [目录名] 创建单个目录
mkdir -p/a/b/c/d/f 创建多层文件目录
[root@linuxprobe Desktop]# pwd
/root/Desktop
[root@linuxprobe Desktop]# mkdir linux
[root@linuxprobe Desktop]# cd linux
[root@linuxprobe linux]# pwd
/root/Desktop/linux
[root@linuxprobe linux]# mkdir -p a/c/d/e
[root@linuxprobe linux]# cd a/c/d/e
[root@linuxprobe e]# pwd
/root/Desktop/linux/a/c/d/e
- cp 复制
- .用于复制文件或目录
- 格式: cp 源文件 目标文件
cp -r 源目录 目标目录
- mv 剪切
用于剪切文件或重命名
格式: mv 源文件 目标文件
mv -r 源目录 目标目录
- rm
- . 用于删除文件或目录
- rm 文件 删除文件,有提示确认
rm -f 强制删除文件,没有任何提示
rm -r 删除目录
rm -rf 强制删除目录,
[root@linuxprobe Desktop]# ls
07:47 1a1~ 2a1 A~ AbbA~ DD~ linux
[root@linuxprobe Desktop]# rm 07:47
rm: remove regular empty file ‘07:47’? n 提示是否删除,选否就不会删除
[root@linuxprobe Desktop]# ls
07:47 1a1~ 2a1 A~ AbbA~ DD~ linux
[root@linuxprobe Desktop]# rm -f 07:47
[root@linuxprobe Desktop]# ls
1a1~ 2a1 A~ AbbA~ DD~ linux
[root@linuxprobe Desktop]# rm -r linux
rm: descend into directory ‘linux’? y
rm: descend into directory ‘linux/a’? y
rm: descend into directory ‘linux/a/c’? y
rm: descend into directory ‘linux/a/c/d’? n
[root@linuxprobe Desktop]# ls
1a1~ 2a1 A~ AbbA~ DD~ linux
[root@linuxprobe Desktop]# rm -rf linux
[root@linuxprobe Desktop]# ls
1a1~ 2a1 A~ AbbA~ DD~
- dd
- .用于按照指定大小和个数的数据块来复制或转换文件
- 格式:dd [参数]
参数 if(input file) 输入的文件名称
of(output file) 输出的文件名称
bs 设置文件/块的大小,用数字表示字节数
count 设置要复制的文件/块次数(个数)
dd if=[文件名A] of=[文件名B] bs=N count=M
将文件A取N个字节取M次输出为B的一个文件
[root@linuxprobe Desktop]# ls
1a1~ 2a1 2a1~ A~ AbbA~ DD~
[root@linuxprobe Desktop]# cat 2a1
111111111111111111111111111
222222222222222222222222222
3333333333333333333333333333
4444444444444444444444444
55555555555555555555555555555
66666666666666666666666666666666666
7777777777777777777777777777777777
[root@linuxprobe Desktop]# dd if=2a1 of=3a1 bs=100 count=1
1+0 records in 100字节取一次
1+0 records out
100 bytes (100 B) copied, 0.00022601 s, 442 kB/s
[root@linuxprobe Desktop]# cat 3a1
111111111111111111111111111
222222222222222222222222222
3333333333333333333333333333
444444444444444
[root@linuxprobe Desktop]# dd if=2a1 of=3a1 bs=100 count=2
2+0 records in 100字节取两次
2+0 records out
200 bytes (200 B) copied, 0.000690034 s, 290 kB/s
[root@linuxprobe Desktop]# cat 3a1
111111111111111111111111111
222222222222222222222222222
3333333333333333333333333333
4444444444444444444444444
55555555555555555555555555555
66666666666666666666666666666666666
77777777777777777777777
- file
- 用于查看文件类型
- file [文件名称]
- tar
- 对文件进行打包或解压
- 压缩格式:
tar czvf 压缩包名.tar.gz 要打包的目录或文件
c:表示创建压缩文件
z=gzip:一种压缩格式 j=bzip2 :一种压缩格式
v:压缩或打包的一个过程,可以不用v 【zv没用顺序要求】
f:打包的文件名称,必须放最后面,[root@linuxprobe Desktop]# ls
1a1~ 2a1 2a1~ 3a1 A~ AbbA~ DD~ linux
[root@linuxprobe Desktop]# tar czvf 2a1.tar.gz 2a1
2a1
[root@linuxprobe Desktop]# ls
1a1~ 2a1 2a1~ 2a1.tar.gz 3a1 A~ AbbA~ DD~ linux
- 解压格式:
tar xzvf 压缩包名.tar.gz 解压到当前目录
tar xzvf 压缩包名.tar.gz -C [目录] 解压到指定目录
x:解压
-C:大写字母C指定解压位置
[root@linuxprobe Desktop]# ls
1a1~ 2a1~ 2a1.tar.gz 3a1 A~ AbbA~ DD~ linux
[root@linuxprobe Desktop]# tar xzvf 2a1.tar.gz
2a1
[root@linuxprobe Desktop]# ls
1a1~ 2a1 2a1~ 2a1.tar.gz 3a1 A~ AbbA~ DD~ linux
[root@linuxprobe Desktop]# pwd
/root/Desktop
[root@linuxprobe Desktop]# ls
1a1~ 2a1 2a1~ 2a1.tar.gz 3a1 A A~ AbbA~ DD~ linux
[root@linuxprobe Desktop]# cd linux
[root@linuxprobe linux]# ls
a A A~ linux目录下没有2a1文件
[root@linuxprobe linux]# cd -
/root/Desktop
[root@linuxprobe Desktop]# tar xzvf 2a1.tar.gz -C /root/Desktop/linux
2a1
[root@linuxprobe Desktop]# cd linux
[root@linuxprobe linux]# ls
2a1 a A A~ 解压后linux目录下出来2a1文件
- grep
- 用于在文本中执行关键词搜索并显示匹配结果
- 格式: grep [关键词A] [文件名B] 显示文件B中带有关键
词A的内容
grep -n [关键词A] [文件名B] 显示文件B中带有关键词A的内容,并显示行号。
grep -c [关键词A] [文件名B] 统计文件B中带有关键词A的一个有多少行,不显示内容。
grep -v [关键词A] [文件名B] 反向选择,只显示文件B中不带有关键词A的内容。
grep -vn[关键词A] [文件名B] 反向选择,只显示文件B中不带有关键词A的内容和行号。
grep -vc[关键词A] [文件名B] 反向选择,统计文件B中不带有关键词A一共多少行。
[root@linuxprobe Desktop]# cat 2a1
111111111111111111111111111a
222222222222222222222222222
3333333333333333333333333333a
4444444444444444444444444
55555555555555555555555555555a
66666666666666666666666666666666666
7777777777777777777777777777777777a
8888888888888888888888888888888888
99999999999999999999999999999a
00000000000000000000000000000000000
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
[root@linuxprobe Desktop]# grep -n a 2a1
1:111111111111111111111111111a
3:3333333333333333333333333333a
5:55555555555555555555555555555a
7:7777777777777777777777777777777777a
9:99999999999999999999999999999a
[root@linuxprobe Desktop]# grep -c a 2a1
5 带a的有5行
[root@linuxprobe Desktop]# grep -vc a 2a1
6 不带a 的有6行
[root@linuxprobe Desktop]# grep -vn a 2a1
2:222222222222222222222222222
4:4444444444444444444444444
6:66666666666666666666666666666666666
8:8888888888888888888888888888888888
10:00000000000000000000000000000000000
11:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
[root@linuxprobe Desktop]#
- find
- .用于按照指定条件来查找文件
- .格式:
以文件名来搜索:find / -name [文件名]
以文件所有者来搜索: find / -user [所有者名]
《Linux就该这么学》
正文内容:
本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值的Linux实验手册。章节包括有:
第0章 咱们先来谈谈学习方法和红帽系统。
第1章 部署虚拟环境安装linux系统。
第2章 新手必须掌握的Linux命令。
第3章 管道符、重定向与环境变量。
第4章 Vim编辑器与Shell命令脚本。
第5章 用户身份与文件权限。
第6章 存储结构与磁盘划分。
第7章 使用RAID与LVM磁盘阵列技术。
第8章 Iptables与Firewalld防火墙。
第9章 使用ssh服务管理远程主机。
第10章 使用Apache服务部署静态网站。
第11章 使用Vsftpd服务传输文件。
第12章 使用Samba或NFS实现文件共享。
第13章 使用Bind提供域名解析服务。
第14章 使用DHCP动态管理主机地址。
第15章 使用Postfix与Dovecot部署邮件系统
第16章 使用Squid部署代理缓存服务。
第17章 使用iSCSI服务部署网络存储。
第18章 使用MariaDB数据库管理系统。
第19章 使用PXE+Kickstart部署无人值守安装。
第20章 使用LNMP架构部署动态网站环境。
对Linux感兴趣的一定要加个收藏,在线学习网址是https://www.linuxprobe.com/chapter-00.html
附件:
来源:oschina
链接:https://my.oschina.net/u/4457323/blog/3168358