文章目录
一、执行帮助文档命令(man)
常见执行Linux命令的格式是这样的:
命令名称 [命令参数] [命令对象]
比如:
find /home -name *.txt
命令意思很简单,查找home下文件后缀名是txt的文件
1. man(查看帮助文档)
main命令用于查看命令的帮助文档
man ls
运行命令在shell终端就会输出 ls 命令的文档信息,包括介绍以及参数等等。
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
-b, --escape
print C-style escapes for nongraphic characters
--block-size=SIZE
scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE format below
-B, --ignore-backups
do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last modification of file status information); with -l: show ctime and sort by name; otherwise:
sort by ctime, newest first
-C list entries by columns
--color[=WHEN]
colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below
-d, --directory
list directories themselves, not their contents
输出内容应该很长,可以使用鼠标滚轮向下滑动,或者是按空格键。按q退出帮助文档。
当然,你也可以使用命令 man man
查看man命令自己的帮助文档,这也是可以的。
输出的帮助文档有很多,也许不知道从何看起,如上输出ls命令的部分帮助文档中,有NAME、SYNOPSIS、DESCRIPTION等大写英文单词,具体含义参照下表(包含主要结构名称,部分命令可能含有结构名称):
结构名称 | 代表含义 |
---|---|
NAME | 命令名称 |
SYNOPSOS | 参数的大致使用方法(格式) |
DESCRIPTION | 介绍 |
EXAMPLES | 演示(例子) |
OVERVIEM | 默认功能 |
DEFAULTS | 具体的可用选项 |
OPTIONS | 具体可用选项 |
ENVIRONMENT | 环境变量 |
FILES | 用到的文件 |
SEE ALSO | 相关资料 |
HISTORY | 维护历史与联系方式 |
具体的内容对照相应的输出会更加形象,你可以在你的虚拟机、linux系统的PC或者是云端Linux服务器中运行一下查看一下。
二、 常用系统工作命令(echo、date、reboot、poweroff、wget、ps 、top、pidof、kill、killall)
1. echo(输出命令)
用于在终端输出字符串或者是变量提取后的值
echo [字符串|$变量]
2. date(设置系统时间或者格式)
显示或者设置系统的时间,格式:
date [-选项] [+指定的格式]
具体的选项可以使用man命令进行查看
3. reboot(重启)
重启计算机(系统),格式:
reboot
4. poweroff(关机)
关闭系统(计算机),格式:
poweroff
reboot和poweroff命令都涉及了计算机硬件资源的管理权限,所以必须拥有root权限才能运行这两个命令
5. wget (从网站中获取)
个人感觉这个命令算是作用比较大了,wget命令的作用是在终端中下载网络文件。格式:
wget [参数] 网址
|参数|作用 |
|–|--|
| -b | 后台下载模式 |
| -P| 下载到指定目录 |
| -t|最大尝试次数 |
| -c| 断点续传 |
| -p|下载页面所有资源,包括图片、视频等 |
| -r | 递归下载 |
这些参数不用死记硬背,要么就是用的多了,自然就记住了,要么就找点法子,其实参数都是英文单词的缩写,后台下载(background -b),最大尝试次数(-t times)断点续传(-c continue),下载到指定目录(-P emmmm,我没想到),递归下载(-r recursion)
6. ps(查看系统进程)
查看系统中进程的状态,格式:
ps [参数]
一般ps命令和管道符配合使用效果很好,配合管道符,可以抓取某个指定服务进程相对应的PID码
参数 | 作用 |
---|---|
-a | 显示所有进程,包括其他用户 |
-u | 用户以及其他想详细信息 |
-x | 显示没有控制终端的进程 |
Linux系统中有五种常见的进程状态,运行(R)、终端(S)、不可中断(D)、僵死(Z)、停止(T)
7. top (动态监视负载)
用于动态监视进程活动与负载等信息,格式:
top
top命令很强大,能够动态查看运维状态,应该算是运维工程师最常用的命令了。
运行效果图下图
top - 22:11:24 up 115 days, 1:30, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 141 total, 1 running, 110 sleeping, 1 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2041216 total, 247352 free, 516484 used, 1277380 buff/cache
KiB Swap: 969964 total, 969964 free, 0 used. 1330336 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1400 gdm 20 0 684840 42492 6292 S 1.0 2.1 693:43.38 gsd-color
7908 root 10 -10 139708 19616 15160 S 0.7 1.0 65:17.09 AliYunDun
2324 root 20 0 553632 34128 0 S 0.3 1.7 127:08.69 dockerd
2371 root 20 0 569724 19356 312 S 0.3 0.9 249:59.16 containerd
26270 root 20 0 41776 3580 2976 R 0.3 0.2 0:00.04 top
1 root 20 0 160116 7480 4740 S 0.0 0.4 0:58.49 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.43 kthreadd
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
7 root 20 0 0 0 0 S 0.0 0.0 0:18.68 ksoftirqd/0
8 root 20 0 0 0 0 I 0.0 0.0 9:30.99 rcu_sched
9 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_bh
10 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
11 root rt 0 0 0 0 S 0.0 0.0 0:16.18 watchdog/0
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
14 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_kthre
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd
17 root 20 0 0 0 0 S 0.0 0.0 0:03.22 khungtaskd
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_reaper
19 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 writeback
20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kcompactd0
21 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
22 root 39 19 0 0 0 S 0.0 0.0 0:09.50 khugepaged
23 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 crypto
24 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kintegrityd
25 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kblockd
26 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 ata_sff
27 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 md
28 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 edac-poller
29 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 devfreq_wq
30 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 watchdogd
34 root 20 0 0 0 0 S 0.0 0.0 0:03.24 kswapd0
35 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/u3:0
第一行 ,系统时间、运行时间、登录终端数、系统负载
第二行,进程总数、运行中的进程数,睡眠中的进程数、停止的进程数、僵死的进程数等
第三行,用户占用资源白分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源的百分比
8. pidof(查询服务的PID)
查询某个指定服务进程的PID值,格式为pidof [参数] [服务名称]
9. kill (终止进程)
终止进程(杀死进程),格式:
kill [参数] [进程PID]
但是进程状态为D(不可终止)的进程用kill命令也是杀不死的。
10. killall (终止指定文件名称的服务)
用于终止某个指定名称的服务所对应的全部进程,格式
killall [参数] [进程名称]
kill和killall 可以理解为 emmmm,重点狙击和火箭覆盖。
三、系统状态检测命令(ifconfig、unname、uptime、free、who、last、history、sosreport)
1. ifconfig(获取网卡配置与网络状态信息)
ifconfig命令用于获取网卡配置与网络状态信息,格式为:
ifconfig 【网络设备】 [参数]
2. uname(查看系统信息)
查看系统内核和系统版本等信息,具体的参数可以借助man命令查看。
3. uptime(查看系统负载)
查看系统负载信息,格式:
uptime
4. free (显示当前系统内存信息)
显示当前系统中内存的使用信息
格式:free [-h]
这个命令可以时刻查看系统的内存使用情况,注意观察内存的使用,避免服务器因为内存耗尽而出现宕机状态
5. who(查看登录用户信息)
查看当前登入主机的用户端信息
格式:who
6. last(查看系统登录记录)
查看所有系统的登录记录
last [参数]
如果是多用户的话,这个命令可以输出登录系统的用户信息,包括用户名和用户登录事件等信息
root pts/0 140.206.249.253 Tue Apr 28 19:41 still logged in
root pts/0 140.206.249.253 Mon Apr 27 22:13 - 01:37 (03:24)
root pts/0 140.206.249.253 Sun Apr 26 20:12 - 00:52 (04:40)
root pts/0 140.206.249.253 Fri Apr 24 22:17 - 01:30 (03:12)
root pts/0 223.167.213.117 Sun Apr 19 12:49 - 22:02 (09:12)
root pts/0 223.167.213.117 Sun Apr 12 15:15 - 16:05 (00:50)
gw pts/0 223.167.213.117 Sun Apr 12 12:51 - 15:14 (02:22)
root pts/0 223.167.213.117 Sun Apr 12 12:24 - 12:48 (00:23)
root pts/1 223.167.213.117 Sat Apr 11 14:49 - 20:01 (05:11)
gw pts/1 140.206.248.74 Sat Apr 11 11:45 - 11:46 (00:00)
root pts/0 140.206.248.74 Sat Apr 11 11:41 - 14:52 (03:11)
7.history命令(历史执行命令集合)
显示历史执行过的命令。
history [-c]
历史命令会被保存到用户家目录中的。bash_history文件中。Linux系统中以(.)开头的文件代表隐藏文件(ls -a 可以查看隐藏文件),这些文件大多是为系统服务文件
8. sosreport命令(手机系统配置及架构并输出诊断文档)
用于收集系统配置及架构信息并输出诊断文档,格式为:
sosreport
这个命令算是比较有用的了,如果你的服务器出现了问题或者故障,需要技术人员远程维修的话,一般是先执行这个命令,输出诊断信息,输出的信息会保存到linux下的对应目录中,同时输出报告的位置、名称、解压密码,然后你就可以发给维修人员或者自己看看到底是哪里出了问题。(其实命令很好记,sos+report 求救报告。。。)
如果你运行了 sosreport 命令。而你的服务器显示
Command 'sosreport' not found
那就是你还没有安装sosreport,使用命令apt install sosreport
root@我的服务器地址怎么能告诉你们呢:~# sosreport
sosreport (version 3.9)
This command will collect system configuration and diagnostic
information from this Ubuntu system.
For more information on Canonical visit:
https://www.ubuntu.com/
The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.
No changes will be made to system configuration.
Press ENTER to continue, or CTRL-C to quit.
Please enter the case id that you are generating this report for []: test1
Setting up archive ...
Setting up plugins ...
[plugin:networking] skipped command 'nft list ruleset': required kmods missing: nf_tables.
[plugin:networking] skipped command 'ip -s macsec show': required kmods missing: macsec. Use '--allow-system-changes' to enable collection.
[plugin:networking] skipped command 'ss -peaonmi': required kmods missing: udp_diag, netlink_diag, tcp_diag, unix_diag, inet_diag, af_packet_diag. Use '--allow-system-changes' to enable collection.
[plugin:sar] sar: could not list /var/log/sysstat/*
Running plugins. Please wait ...
Starting 1/71 acpid [Running: acpid] Starting 2/71 anacron [Running: anacron] Starting 4/71 apport [Running: apport] Starting 3/71 apparmor [Running: apport apparmor] Starting 6/71 ata [Running: apport apparmor ata] Starting 5/71 apt [Running: apport apparmor apt] Starting 7/71 block [Running: apport apparmor apt block] Starting 8/71 boot [Running: apparmor apt block boot] Starting 9/71 ceph [Running: apt block boot ceph] Starting 10/71 cgroups [Running: apt block ceph cgroups] Starting 11/71 chrony [Running: apt ceph cgroups chrony] Starting 12/71 cloud_init [Running: apt ceph chrony cloud_init] Starting 13/71 cron [Running: apt ceph chrony cron] Starting 14/71 crypto [Running: apt ceph chrony crypto] Starting 15/71 cups [Running: apt ceph chrony cups] Starting 16/71 date [Running: ceph chrony cups date] Starting 17/71 dbus [Running: ceph chrony cups dbus] Starting 18/71 devicemapper [Running: ceph chrony cups devicemapper] Starting 19/71 devices [Running: ceph chrony cups devices] Starting 20/71 dpkg [Running: ceph cups devices dpkg] Starting 21/71 ebpf [Running: ceph cups dpkg ebpf] Starting 22/71 filesys [Running: ceph cups ebpf filesys] Starting 23/71 fwupd [Running: ceph cups filesys fwupd] Starting 24/71 gdm [Running: ceph cups fwupd gdm] Starting 25/71 grub2 [Running: ceph fwupd gdm grub2] Starting 26/71 hardware [Running: ceph gdm grub2 hardware] Starting 27/71 host [Running: ceph gdm hardware host] Starting 28/71 i18n [Running: ceph gdm host i18n] Starting 29/71 kernel [Running: ceph gdm host kernel] Starting 30/71 libraries [Running: ceph gdm kernel libraries] Starting 31/71 libvirt [Running: ceph gdm kernel libvirt] Starting 32/71 login [Running: ceph gdm kernel login] Starting 33/71 logrotate [Running: ceph kernel login logrotate] Starting 34/71 logs [Running: ceph kernel login logs] Starting 35/71 lvm2 [Running: ceph kernel logs lvm2] Starting 36/71 md [Running: ceph kernel logs md] Starting 37/71 memory [Running: ceph kernel logs memory] Starting 38/71 multipath [Running: ceph kernel logs multipath] Starting 39/71 mysql [Running: ceph kernel logs mysql] Starting 40/71 networking [Running: ceph kernel logs networking] Starting 41/71 networkmanager [Running: kernel logs networking networkmanager Starting 42/71 nginx [Running: logs networking networkmanager nginx] Starting 43/71 nscd [Running: logs networking nginx nscd] Starting 44/71 ntp [Running: logs networking nginx ntp] Starting 45/71 openssl [Running: logs networking nginx openssl] Starting 46/71 pam [Running: logs networking nginx pam] Starting 47/71 pci [Running: logs networking nginx pci] Starting 48/71 perl [Running: logs networking nginx perl] Starting 49/71 ppp [Running: logs networking nginx ppp] Starting 50/71 procenv [Running: logs networking nginx procenv] Starting 51/71 process [Running: logs networking nginx process] Starting 52/71 processor [Running: logs networking process processor] Starting 53/71 python [Running: logs networking process python] Starting 54/71 release [Running: logs networking python release] Starting 55/71 sar [Running: logs networking python sar] Starting 56/71 scsi [Running: logs networking python scsi] Starting 57/71 services [Running: logs networking python services] Starting 58/71 snappy [Running: logs networking python snappy] Starting 59/71 soundcard [Running: logs python snappy soundcard] Starting 60/71 ssh [Running: logs snappy soundcard ssh] Starting 61/71 sudo [Running: logs snappy soundcard sudo] Starting 62/71 system [Running: logs snappy soundcard system] Starting 63/71 systemd [Running: logs snappy soundcard systemd] Starting 64/71 systemtap [Running: logs snappy systemd systemtap] Starting 65/71 sysvipc [Running: logs snappy systemd sysvipc] Starting 66/71 ubuntu [Running: logs snappy systemd ubuntu] Starting 67/71 udev [Running: logs systemd ubuntu udev] Starting 68/71 usb [Running: logs systemd ubuntu usb] Starting 69/71 wireless [Running: logs systemd ubuntu wireless] Starting 70/71 x11 [Running: logs systemd ubuntu x11] Finishing plugins [Running: systemd ubuntu x11] Starting 71/71 xfs [Running: systemd ubuntu x11 xfs] Finishing plugins [Running: systemd ubuntu x11] Finishing plugins [Running: ubuntu x11] Finishing plugins [Running: x11]
Finished running plugins
Creating compressed archive...
Your sosreport has been generated and saved in:
/tmp/sosreport-我的服务器地址怎么能告诉你们呢-test1-2020-04-28-zsupnaz.tar.xz
Size 3.89MiB
Owner root
md5 f13ddac3ebb349456162a71b3f9e36d3
Please send this file to your support representative.
最后几行就是 生成的报告的位置和名称等。这个命令可以说非常好用了。
四、工作目录切换命令(pwd、cd、ls)
工作目录: 用户当前在系统中的位置。
这一部分的命令是使用频率最高的命令,几乎你进入shell终端你救护用到。
1. pwd(显示当前工作目录)
显示用户当前所处的工作目录 格式
pwd 【参数】
使用man 命令查看,可以看到pwd 命令的详细信息
PWD(1) User Commands PWD(1)
NAME
pwd - print name of current/working directory
SYNOPSIS
pwd [OPTION]...
DESCRIPTION
Print the full filename of the current working directory.
-L, --logical
use PWD from environment, even if it contains symlinks
-P, --physical
avoid all symlinks
--help display this help and exit
--version
output version information and exit
If no option is specified, -P is assumed.
NOTE: your shell may have its own version of pwd, which usually super‐
sedes the version described here. Please refer to your shell's docu‐
mentation for details about the options it supports.
AUTHOR
Written by Jim Meyering.
REPORTING BUGS
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report pwd translation bugs to <http://translationproject.org/team/>
COPYRIGHT
Copyright © 2017 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
2. cd(切换工作目录)
这个不用说了,切换工作路径
3. ls(显示目录中的问价信息)
显示目录中的文件信息
格式ls [参数]
这个命令最常用的参数有a(详细,显示文家大小和隐藏文件)、l(list显示) 等
具体的详细信息,老样子,自己动手运行一下man ls
瞅一眼~~
五、文本文件编辑命令(cat、more、head、tail、tr wc、stat、cut、diff、)
1. cat (输出纯文本文档内容【文档较小】)
查看纯文本文件,当然是内筒较少的文件,不然就会出现屏幕一闪而过,而你啥都没看到的状况
格式:cat 选项 文件名
一般使用这个命令我会加上一个-n的参数用于显示行号
2. more(输出纯文本文档内容【文档较大】)
cat 命令查看纯文本文件(内容较多的),格式为
more [选项] 文件
阅读配置文件的时候一般使用more命令,当然,你要是闲得DT来度长篇小说,more命令也适合你。它会在屏幕下端给你显示一个百分比的文档阅读进度
3. head(查看文档前n行)
查看纯文本文档的前n行,格式为head [选项] [文件]
head -n 20 文件
这个命令就是查看文件的前20行内容。
4. tail(查看文档后n行)
tail 命令用于查看纯文本文档的后N行或持续更新的内容,格式
tail [选项] [文件]
tail -n 20 文件
查看文件的后20行内容
tail -f 文件名
tail -f /var/message
实时查看最新日志文件
5. tr (替换目标文件中的字符)
替换目标文件中的字符,
格式tr [原始字符] [目标字符]
cat a.txt | tr [a-z] [A-Z]
上面命令 的意思是打开a.txt 文件,替换其中的小写字母为大写字母,( | )是Linux中非常重要的一个符号**“管道符”** 可以理解非一根管道,左边输出的内筒通过管道符输入到右边,作为右边命令的执行参数
6. wc(统计文件)
统计文本的行数、字数、字节数
格式:wc [参数] 文本
我一般把这个命令和find命令组合使用,用来查看文件夹中相应文件的数量
find [文件夹路径] -name [模糊匹配的文件名,如:*.txt] | wc -l
运行命令会输出一个数字,就是你要找的这个类型的文件在目标文件夹中的数量
7. stat(查看文件具体信息)
查看文件的具体信息存储信息,格式为
stat 文件名称
root@~~~~~~:/home/test# stat a.txt
File: a.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fc01h/64513d Inode: 820406 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-04-28 22:12:46.252720683 +0800
Modify: 2020-04-28 22:12:46.252720683 +0800
Change: 2020-04-28 22:12:46.252720683 +0800
Birth: -
8. cut(提取文本字符)
cut 命令用于按"列"提取文本字符
格式cut [参数] 文本
9. diff(比较多个文本文件的差异)
用于比较多个文本文件的差异,
格式为diff [参数] 文件
可以使用–brief 参数来确认两个文件是否相同,还可以使用-c参数来详细比较多个文件的差异之处,
检测文件是否被篡改的常用手段
diff --brief a.txt b.txt
如果两份文件内容是一样的,则不会输出任何东西,如果不同,则如下输出:
Files a.txt and b.txt differ
来试试参数-c
*** a.txt 2020-04-28 22:22:20.693747186 +0800
--- b.txt 2020-04-28 22:23:49.573906014 +0800
***************
*** 1 ****
! ▒▒▒▒һ▒▒▒▒▒▒ļ▒▒▒a
\ No newline at end of file
--- 1 ----
! ▒▒▒▒һ▒▒▒▒▒▒ļ▒▒▒b
\ No newline at end of file
上述命令可以通过管道符和其他命令结合使用,看你自己的了~~
六、文件目录管理命令(touch、mkdir、cp、mv、rm、dd、file)
1. touch(创建、设置文件命令)
touch 命令用于创建空白文件或者设置文件的时间
格式:touch [选项] [文件]
参数 | 作用 |
---|---|
-a | 修改读取时间 |
-m | 修改“修改时间” |
-d | 同时修改atime和mtime |
ls -l a.txt
-rw-r--r-- 1 root root 19 Apr 28 22:22 a.txt
然后向文件中输入一行字符串(修改时间)
echo "change mtime " > a.txt
再次查看时间发现文件的修改时间已经改变。
ls -l a.txt
-rw-r--r-- 1 root root 14 Apr 29 23:30 a.txt
但是黑客不想让别人知道他在这个时候修改了这个文件,然后黑客可以运行touch命令,变更文件修改时间。
把文件的修改时间偷偷修改成原来的时间, 事了拂衣去,深藏功与名~~~
touch -d "2020-4-28 22:22" a.txt
ls -l a.txt
-rw-r--r-- 1 root root 14 Apr 28 22:22 a.txt
2. mkdir(创建文件夹)
用于创建空白的目录。
格式:mkdir [选项] 目录
mkdir -p a/b/c
-p参数可以创建具有嵌套叠层关系的目录
3. cp(拷贝)
用于拷贝文件,也是一个比较常用的命令
格式:cp [参数] 源文件 目标文件
- 目标文件是目录(文件夹),怎将源文件拷贝到目标文件夹下
- 目标文件是普通文件,询问是否要覆盖目标文件
- 目标文件不存在,正常拷贝
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 如果目标文件时链接文件,则保留连接文件的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在,则询问是否覆盖 |
-a | -pdr |
4. mv (移动文件)
用于剪切 复制 文件
格式mv 【目标问路径|目标文件名】
同一个目录对同一个文件使用mv命令相当于对文件进行重命名
5. rm(删库跑路~必备命令)
这个命令用于删除文件。
格式:rm [参数] [文件]
linux系统删除文件时候,会询问是否删除。如果不想老是询问了,可以使用参数 -f 强制删除,如果要删除一个目录 则使用 -r
rm -rf *
这个命令就厉害了,成员的删库跑的梗就是这么来的。意思是删除工作目录想啊任何文件、文件夹
所以使用这个命令要慎重小心点,不然你都能把“系统删除”喽
6. dd(按指定数据块,复制\转换 文件)
用户按照指定大小和个数的数据块复制文件或转换文件
格式:dd [参数]
这个命令有意思了。一般运行这个命令首先必须知道Linux中一个名为/dev/zero 的设备文件**(不占系统存储空间,但是可以提供无穷无尽的数据)**因此可以使用它作为dd命令的输入文件
参数 | 作用 |
---|---|
if | 输入文件的名称 |
of | 输出文件的名称 |
bs | 设置每个块的大小 |
count | 设置要复制的块的个数 |
dd if=/dev/zero of=file_100 count=1 bs=100M
命令的含义是从/dev/zero 中取出一个大小为100M的数据块,然后保存为file_100文件
dd if=/dev/zero of=10_file count=1 bs=10M
1+0 records in
1+0 records out
10485760 bytes (10 MB, 10MiB) copied, 0.0122317 s, 857 MB/s
total 10256
drwxr-xr-x 2 root root 4096 Apr 30 00:20 ./
drwxr-xr-x 4 root root 4096 Apr 24 22:19 ../
-rw-r--r-- 1 root root 10485760 Apr 30 00:20 10_file
-rw-r--r-- 1 root root 14 Apr 28 22:22 a.txt
-rw-r--r-- 1 root root 19 Apr 28 22:23 b.txt
-rw-r--r-- 1 root root 0 Apr 29 23:22 test.py
ls -lh 10_file
-rw-r--r-- 1 root root 10M Apr 30 00:20 10_file
7. file(查看文件类型)
用于查看文件类型
格式file 文件名
file 10_file
10_file: data
七、打包压缩与搜索命令(tar、grep、find)
1. tar(解压缩)
tar命令用于对文件进行打包压缩或者解压
格式:tar [选项] [文件]
参数很多,用man命令就可以查看具体参数和相关信息
2. grep(搜索)
在文本中执行关键字搜索,平显示匹配的结果
格式:grep [选项] [文件]
|参数| 含义 |
|–|--|
|-b | 将可执行文件(binary)当做文本文件来搜索 |
| -c | 仅显示找到的行数|
| -i | 忽略大小写|
| -n| 显示行号|
| -v| 反向选择——仅列出没有“关键词的行”|
3. find(查找文件或文件夹)
用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”
find /home -name *.txt | wc -l
查找home目录下一共有多少txt文件