linux命令经典用法与配置收录

本文涉及的产品
图片翻译,图片翻译 100张
文档翻译,文档翻译 1千页
语种识别,语种识别 100万字符
简介:

1 管道或字符处理

1.1 grep的经典用法

1.1.1 扩展查找参数

1
grep  -E  'vmx|svm'  /proc/cpuinfo

1.1.2. 过滤注解和空行

1
grep  -E - v  "(^#|^$)"  /etc/yum .conf

1.1.3 搜索文本的内容

1
grep  –r  "string"  .

1.2 awk的经典用法

1.2.1 按指定的列打印

1
echo  './ftp1/abc/efg.txt'  awk   -F  '/'   '{print $1"/"$2"/"$3"/"$4}'

1.2.2 去掉最前列打印

1
cat  /tmp/ftplist  awk  -F '/'  '{$1="";OFS="/";print}'

1.2.3 去掉最后列打印

1
echo  './ftp1/abc/efg.txt'  awk  -F '/'  '{NF-=1;OFS="/";print}'

1.2.4 去掉前后列打印

1
echo  './ftp1/abc/efg.txt'  awk  -F '/'  '{$1="";NF-=1;OFS="/";print}'

1.2.5 打印最后一列

1
echo  './ftp1/abc/efg.txt'  awk  -F  '/'  '{print $NF}'

1.3 cut的经典用法

1.3.1 多区域截取

1
cat  /etc/passwd  cut  -d: -f1,2,3

1.3.2 按字符截取

1
2
cat  /etc/passwd  cut  -c 1-4,6
echo  '测试用例'  cut  -c 1-2,4

1.3.3 按字节截取

1
2
cat  /etc/passwd  cut  -b 1-4,6
echo  '测试用例'  cut  -b 1-2,4

注:以上中文用例可见,按字符可以保证截取的完整性,按字节不能不能保证。

1.4 sort经典用法

删除重复行

1
cat  /proc/cpuinfo  grep  'model name'  sort  -u

1.5 sed经典用法

1.5.1 控制字符转义

1
2
echo  ' `~!@#$%^&*()_+{}[]|\:;",./<>?'  sed  's/[[:blank:]]\|[&' " '"' ()]/\\& /g '
echo  ' `~!@#$%^&*()_+{}[]|\:;",./<>?'  sed  's/[^[:alnum:]]/\\&/g'

1.5.2 无歧义的方式输出字符

1
2
3
4
echo  "test example"  test .txt
echo  -e  "test\texample"  >>  test .txt
sed  'test.txt'
sed  -n l  'test.txt'

1.5.1 字符串替换

1
echo  "API_KEY = 0000000"  sed  's/ //g'

1.6 字符集转换

1
iconv -f utf8 -t gb2312  file -before.txt > result.txt

1.7 根据列表批量删除

1
cat  list.txt |  xargs  rm  -rf

2 目录或文件处理

2.1 find的经典用法

1
2
3
4
5
6
7
8
9
10
#查找最近30分钟修改的当前目录下的.php文件
find  . -name  '*.php'  -mmin -30
#查找最近24小时修改的当前目录下的.php文件
find  . -name  '*.php'  -mtime 0
#查找最近24小时修改的当前目录下的.php文件,并列出详细信息
find  . -name  '*.php'  -mtime 0 - ls
#查找当前目录下,最近24-48小时修改过的文件。
find  . - type  f -mtime 1
#查找当前目录下,最近1天前修改过的文件。
find  . - type  f -mtime +1

2.2 tree用法

显示目录层数:

1
tree -L 2

2.3 当前目录大小

1
du  -h --max-depth=1

2.4 强制卸载目录(慵懒模式)

1
umount  -l  /mnt

3 时间相关

3.1 修改时区域时间同步

1
2
3
4
5
yum  install  -y ntpdate
timedatectl list-timezones  #时区查看
cp  /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime  #配置时区
timedatectl  set -timezone Asia /Shanghai  #配置时区
ntpdate 0.centos.pool.ntp.org  #时间同步

3.2 NTP客户端配置

1
2
yum -y  install  chrony
vim  /etc/chrony .conf

修改NTP服务器地址:

1
server 0.centos.pool.ntp.org iburst

设置服务开机启动与重启

1
2
systemctl  enable  chronyd
systemcatl restart chronyd

查看服务状态:

1
2
3
timedatectl status  #时间日期状态
chronyc sources - v  #同步时间源
chronyc sourcestats - v  #同步时间状态

4 硬件相关

4.1 CPU信息

4.1.1 CPU的型号

1
dmidecode -t processor

1
echo  "cpu " $( cat  /proc/cpuinfo  grep  'model name'  sort  -u)

4.1.2 CPU的核数

1
echo  "cpu core number:" $( cat  /proc/cpuinfo  grep  'core id'  sort  -u |  wc  -l)

4.2 内存信息

4.2.1 查询内存相关信息

1
dmidecode -t memory

显示如下:

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
# dmidecode 2.12
SMBIOS 2.5 present.
 
Handle 0x0019, DMI  type  16, 15 bytes
Physical Memory Array
         Location: System Board Or Motherboard
         Use: System Memory
         Error Correction Type: Multi-bit ECC
         Maximum Capacity: 8 GB
         Error Information Handle: Not Provided
         Number Of Devices: 4
 
Handle 0x001A, DMI  type  17, 27 bytes
Memory Device
         Array Handle: 0x0019
         Error Information Handle: No Error
         Total Width: 42504 bits
         Data Width: 42568 bits
         Size: 1024 MB
         Form Factor: DIMM
         Set: 1
         Locator: DIMM 1
         Bank Locator: DIMM 1
         Type: DDR2
         Type Detail: Synchronous
         Speed: 667 MHz
         Manufacturer: Hyundai Electronics
         Serial Number: 04004023
         Asset Tag: 41420836
         Part Number: 48594D503531325537324350382D59352020
 
Handle 0x001B, DMI  type  17, 27 bytes
Memory Device
         Array Handle: 0x0019
         Error Information Handle: No Error
         Total Width: Unknown
         Data Width: Unknown
         Size: No Module Installed
         Form Factor: DIMM
         Set: 2
         Locator: DIMM 2
         Bank Locator: DIMM 2
         Type: DDR2
         Type Detail: Synchronous
         Speed: Unknown
         Manufacturer: 48spaces
         Serial Number: 01234567
         Asset Tag: 01234567
         Part Number: 012345678901234567890123456789012345

注:size可知内存大小或者有无插内存

4.2.2 物理内存的大小

1
echo  $( expr  $( cat  /proc/meminfo  grep  MemTotal |  awk  -F  ' '  '{print $2}' ) / 1024 / 1024) "GB"

4.3 硬盘

4.3.1 硬盘

1
fdisk  -l |  grep  'Disk /dev'

4.3.2 硬盘IO

1
iostat -d -k 2

4.4 查看ISCSI设备

1
lsscsi

4.5 查看PCI设备

1
lspci

4.5.1 查看HBA卡

1
lspci |  grep  Fibre

4.5.2 查看网卡

1
lspci |  grep  Ethernet

4.5.3 网卡信息

1
ethtool  eth0

4.6 UUID相关的

1
2
3
ls  -l  /dev/disk/by-uuid
uuidgen |  xargs  tune2fs  /dev/sda1  -U
blkid  /dev/sda1

4.7 查看接口

1
  dmidecode -t connector

注:可查询主板上的USB接口、网络接口、SATA接口等

4.8 文件系统

1
tune2fs -l  /dev/sda3

如果显示如下,则文件系统需要Init 1模式下修复

1
Filesystem state:         clean with errors

5 源相关的配置

5.1 wget下载整个yum源目录

1
wget -c -r -np --reject=html,gif,A,D -nH https: //repos .fedorapeople.org /repos/openstack/EOL/openstack-juno/epel-7/

5.2 yum源下载

1
yum  install  --downloadonly --downloaddir= /tmp  httpd

5.3 yum源制作

5.3.1 进入光盘挂载目录

1
cd  CentOS-6.8-x86_64/

目录结构大致如下:

1
tree -L 2

显示如下:

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
.
├── DVD1
│   ├── CentOS_BuildTag
│   ├── EFI
│   ├── EULA
│   ├── GPL
│   ├── images
│   ├── isolinux
│   ├── Packages
│   ├── RELEASE-NOTES-en-US.html
│   ├── repodata
│   ├── RPM-GPG-KEY-CentOS-6
│   ├── RPM-GPG-KEY-CentOS-Debug-6
│   ├── RPM-GPG-KEY-CentOS-Security-6
│   ├── RPM-GPG-KEY-CentOS-Testing-6
│   └── TRANS.TBL
├── DVD2
│   ├── CentOS_BuildTag
│   ├── EULA
│   ├── Packages
│   ├── RPM-GPG-KEY-CentOS-6
│   ├── RPM-GPG-KEY-CentOS-Debug-6
│   ├── RPM-GPG-KEY-CentOS-Security-6
│   ├── RPM-GPG-KEY-CentOS-Testing-6
│   └── TRANS.TBL
[...]
 
9 directories, 27 files

5.3.2 生成yum源所需的信息

1
2
createrepo .
createrepo -g repodata /repomd .xml .

6 逻辑结构

6.1 if的使用

6.1.1  判断目录是否存在

1
2
3
if  [ ! -d  /backup  ];  then
  mkdir  /backup
fi

注:如果检测到目录“/backup”不存在则建立目录“/backup”

6.1.2 判断文件是否存在

1
2
3
if  [ ! -f  /backup/list .txt ];  then
  rm  -rf  /backup/list .txt
fi

注:如果检测到文件“/backup/list.txt”存在则删除文件“/backup/list.txt”

6.1.3 其他判断

1
man  bash

输入如下命令:

1
\CONDITIONAL EXPRESSIONS

7 测试或检查命令

7.1 IO速度测试

7.1.1 写速度测试

1
2
dd  if = /dev/zero  of= /dev/sda1  bs=8k count=800000
dd  if = /dev/zero  of= /data/test .iso bs=8k count=80000

7.1.2 读速度测试

1
2
dd  if = /dev/sda1  of= /dev/null  bs=8k count=800000
dd  if = /data/test .iso of= /dev/null  bs=8k count=80000

8 邮件相关

8.1 邮件发送

8.1.1 Shell直接处理

1
2
3
mail -s  "test"  admin@cmdschool.org
hello,this is  test  mail
[ctrl + d]

8.1.2 管道命令

1
echo  "hello,this is test mail"  | mail -s  "test2"  admin@cmdschool.org

8.1.3 文件导入

1
2
echo  "hello,this is test mail"  > mail.txt
mail -s  "test3"  admin@cmdschool.org < mail.txt

8.1.4 含附件发送

1)安装相关包

1
yum  install  sharutils

2)测试发送

1
2
3
echo  "hello,this is test mail"  > mail.txt
tar  -cf attachment. tar  mail.txt
uuencode  attachment. tar  attachmentName | mail -s  "test4"  admin@cmdschool.org < mail.txt

9 备份相关

9.1 磁带机控制

9.1.1 安装磁带机控制软件

1
yum  install  mt-st

9.1.2 列出磁带机状态

1
2
mt -f  /dev/st0  status
mt -f  /dev/st0  status ;  echo  $?

注:SCSI接口磁带机显示为/dev/st[n-1];ATAPI显示为/dev/ht[n-1]

9.1.3 擦除磁带

1
mt -f  /dev/st0  erase

9.1.4 倒带

1
mt -f  /dev/st0  rewind

9.1.5 拉紧磁带

1
mt -f  /dev/st0  retension

9.2 单机备份操作

9.2.1 列出明细操作

1
tar  tvf  /dev/st0

9.2.2 创建数据操作

1
tar  cvf  /dev/st0  backupFileName

9.2.3 追加数据操作

1
tar  rvf  /dev/st0  backupFileName

9.2.4 提取数据操作

1
tar  xvf  /dev/st0  backupFileName

9.3 网络备份

请参阅:http://www.amanda.org/


9.4 RSYNC同步备份

https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/

http://roclinux.cn/?p=2643

https://wiki.archlinux.org/index.php/Rsync_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

10 bash

10.1 bash快捷方式

10.1.1 编辑命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + f :按字符前移(右向)
Ctrl + b :按字符后移(左向)
Alt + f :按单词前移(右向)
Alt + b :按单词后移(左向)
Ctrl + xx:在命令行首和光标之间移动
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + w :从光标处删除至字首
Alt + d :从光标处删除至字尾
Ctrl + d :删除光标处的字符
Ctrl + h :删除光标前的字符
Ctrl + y :粘贴至光标后
Alt + c :从光标处更改为首字母大写的单词
Alt + u :从光标处更改为全部大写的单词
Alt + l :从光标处更改为全部小写的单词
Ctrl + t :交换光标处和之前的字符
Alt + t :交换光标处和之前的单词
Alt + Backspace:与 Ctrl + w 相同类似,分隔符有些差别 [感谢 rezilla 指正]

10.1.2 重新执行命令

1
2
3
4
5
Ctrl + r:逆向搜索命令历史
Ctrl + g:从历史搜索模式退出
Ctrl + p:历史中的上一条命令
Ctrl + n:历史中的下一条命令
Alt + .:使用上一条命令的最后一个参数

10.1.3 控制命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Ctrl + l:清屏
Ctrl + o:执行当前命令,并选择上一条命令
Ctrl + s:阻止屏幕输出
Ctrl + q:允许屏幕输出
Ctrl + c:终止命令
Ctrl + z:挂起命令
Bang (!) 命令
 
!!:执行上一条命令
!blah:执行最近的以 blah 开头的命令,如 ! ls
!blah:p:仅打印输出,而不执行
!$:上一条命令的最后一个参数,与 Alt + . 相同
!$:p:打印输出 !$ 的内容
!*:上一条命令的所有参数
!*:p:打印输出 !* 的内容
^blah:删除上一条命令中的 blah
^blah^foo:将上一条命令中的 blah 替换为 foo
^blah^foo^:将上一条命令中所有的 blah 都替换为 foo









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1751549,如需转载请自行联系原作者
目录
相关文章
|
22天前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
97 32
|
21天前
|
监控 Linux
Linux命令大全:echo与tail实现输出重定向。
这样,我们实现了使用echo和tail命令进行输出重定向的目的。在实际应用中,输出重定向技巧可节省时间,提高工作效率。希望本文内容对您了解和掌握Linux系统中echo与tail命令以及输出重定向的操作有所帮助。
88 27
|
17天前
|
消息中间件 Linux Kafka
linux命令使用消费kafka的生产者、消费者
linux命令使用消费kafka的生产者、消费者
90 16
|
23天前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
163 12
|
6天前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename &#39;s/2023/2024/&#39; *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
|
6天前
|
安全 Linux 网络安全
Linux wget 常用命令详解
wget 是一款强大的命令行下载工具,支持 HTTP/HTTPS/FTP 协议。本文详细介绍其基础用法、高效下载参数、高级应用场景及参数速查。内容涵盖断点续传(-c)、后台下载(-b)、限速下载(--limit-rate)、递归下载(-r)、整站镜像(-mk)等实用功能,同时提供文件管理、网络优化与安全下载配置方法,助您高效完成各类下载任务。
|
7天前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
|
11月前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
11月前
|
Linux
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
|
11月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的