大部分转载于 https://blog.csdn.net/tianzongnihao/article/details/80539264
1、Linux管理文件和目录的命令
命令 | 功能 | 命令 | 功能 |
---|---|---|---|
pwd | 显示当前目录 | ls | 查看目录下的内容 |
cd | 改变所在目录 | cat | 显示文件的内容 |
grep | 在文件中查找某字符 | cp | 复制文件 |
touch | 创建文件 | mv | 移动文件 |
rm | 删除文件 | rmdir | 删除目录 |
vi | 编辑文件 |
1.1 pwd命令
pwd命令用于输出当前目录
1.2 cd命令
cd命令用来改变所在目录。
cd / 转到根目录中
cd ~ 转到当前登录用户的用户目录下,root用户相当于 cd /root,普通用户相当于cd /home/当前用户名
cd /usr 转到根目录下的usr目录中-----------------绝对路径
cd test 转到当前目录下的test子目录中---------相对路径
1.3 ls命令
选项 | 含义 |
---|---|
-a | 列举目录中的全部文件,包含隐藏文件 |
-l | 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否链接等 |
-f | 列举的文件显示文件类型 |
-r | 逆向,从后向前地列举目录中内容 |
-R | 递归,该选项递归地列举当前目录下所有子目录的内容 |
-s | 大小,按文件大小排序 |
-h | 以人力可读的方式显示文件的大小,如用K,M,G作为单位 |
ls -l examples.doc | 列举文件examples.doc的所有信息 |
所有命令可以组合使用
比如,要查询一个文件的大小和细节,输入ls index.html -lsh
[root@localhost html]# ls index.html -lsh
4.0K -rw-r--r--. 1 root root 16 6月 8 21:33 index.html
1.4 Cat命令
参数 | 含义 |
---|---|
-n | 由 1 开始对所有输出的行数编号。 |
-b | 和-n类似,只不过对于空白行不编号。 |
-s | 当遇到有连续两行以上的空白行,就代换为一行的空白行。 |
-v | 使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。 |
-E | 在每行结束处显示 $。 |
-T | 将 TAB 字符显示为 ^I。 |
-e | 等价于"-vE"选项; |
-v | 等价于"-vT"选项; |
-A | 等价于 -vET。 |
cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容
cat index.html 该命令显示文件index.html的内容,ctrl + D退出cat
简单使用:
比如将 test1.txt和test2.txt的内容,加上行号附加到test3.txt文档里
cat -n test1.txt test2.txt >> test3.txt
把 test1.txt 的文档内容加上行号后输入 test2.txt 这个文档里:
cat -n test1.txt > test2.txt
1.5 grep命令
grep命令的最大功能是在一堆文件中查找一个特定的字符串
grep money test.txt
以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。
1.6 touch命令
touch命令用来创建新文件,它可以创建一个空白的文件,可以在其中添加文本和数据。
touch newfile 该命令创建一个名为newfile的空白文件
1.7 cp命令
cp命令用来拷贝文件,要复制文件,输入命令:
cp <source filename> <targetfilename>
cp t.txt Doc/t 该命令将把文件t.txt复制到Doc目录下,并命名为t
选项 | 含义 |
---|---|
-i | 互动:如果文件将覆盖目标中的文件,他会提示确认 |
-r | 递归:这个选项会复制整个目录树、子目录以及其他 |
-v | 详细:显示文件的复制进度 |
1.8 mv命令
mv命令用来移动文件
选项 | 含义 |
---|---|
-i | 互动:如果选择的文件会覆盖目标中的文件,他会提示确认 |
-f | 强制:他会超越互动式,不提示地移动文件,属于很危险的选项 |
-v | 详细:显示文件的移动进度 |
mv t.txt Doc 把文件t.txt移动到目录Doc中
1.9 rm命令
rm命令用来删除文件
选项 | 含义 |
---|---|
-i | 互动:提示删除 |
-f | 强制:代替互动模式,不提示确认删除 |
-v | 详细:显示文件的删除进度 |
-r | 递归:将删除某个目录以及其中所有的文件和子目录 |
rm t.txt 该命令删除文件t.txt
1.10 rmdir命令
mrdir命令用来删除目录
1.11 vi编辑文件
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。
进入vi的命令
vi filename:打开或新建文件,并将光标置于第一行首
vi n filename:打开文件,并将光标置于第n行
vi /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename:在上次上次正用vi编辑时发生系统崩溃,恢复到filename
vi filename…filenema:打开多个文件,一次进行编辑
屏幕翻滚类命令
Ctrl u:向文件首翻半屏
Ctrl d:向文件尾翻半屏
Ctrl f:向文件尾翻一屏
Ctrl+b:向文件首翻一屏
插入文件类命令
i:在光标前
I:在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
保存命令
按ESC键跳到命令模式,然后:
:W 保存文件,但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不退出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件按,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
:n 切换到下个文件(打开多个文件的时候)
2、文件备份和压缩命令
在Linux中,常用的文件压缩工具有gzip、bzip2、zip。bzip2是最理想的压缩工具,它提供了最大限度的压缩。zip兼容性好,Windows也支持。
命令 | 功能 |
---|---|
bzip2/bunzip2 | 扩展名为bz2的压缩/解压工具 |
gzip/gunzip | 扩展名为gz的压缩/解压缩工具 |
zip/unzip | 扩展名为zip的压缩/解压缩工具 |
tar | 创建备份和归档 |
2.1 bzip2命令
要使用bzip2来压缩文件,在shell提示下输入命令:
bzip2 filename
文件即会被压缩,并保存为filename.bz2。
要解压缩文件,输入命令
bunzip2 filename.bz2
filename.bz2会被删除,而以filename替代
bzip2 filename.bz2 file1 file2 file3 /usr/work/school
上面的命令把file1、file2、file3以及/usr/work/school目录中的内容压缩起来放入filename.bz2
2.2 gzip命令
要使用gzip来压g缩文件,在shell提示下输入命令:
gzip filename
文件即会被压缩,并保存为filename.gz。
要解压缩文件,输入命令
gunzip filename.gz
filename.gz会被删除,而以filename替代
gzip filename.gz file1 file2 file3 /usr/work/school
上面的命令把file1、file2、file3以及/usr/work/school目录中的内容压缩起来放入filename.gz
3.3 zip命令
zip命令的使用方法同gzip
3.4 tar命令
tar命令最早是用来做磁带备份的,但是由于硬盘容量越来越大,因此现在主要用这个命令来备份所有的文件。tar这个命令把大量的文件和目录打包成一个文件。
选项 | 功能 |
---|---|
-c | 创建一个新归档 |
-f | 当与-c选项一起使用时,创建的tar文件使用该选项指定的文件名;当与-x选项一起使用时,则接触该选项指定的归档 |
-t | 显示包括在tar文件中的文件列表 |
-v | 显示文件的归档进度 |
-x | 从归档中抽取文件 |
-z | 使用gzip压缩tar文件 |
-j | 使用bzip2压缩tar文件 |
要创建一个tar文件,输入命令
tar -cvf filename.tar directory/file /home/mine
上面的命令将directory/file、/home/mine放入归档文件中
要列出tar文件的内容,输入命令
tar -tvf filename.tar
要抽取tar文件的命令
tar -xvf filename.tar
这个命令不会删除tar文件,但会把解除归档的内容复制到当前工作目录下,并保留归档文件所使用的任何目录结构
请记住,tar默认不压缩文件。要创建一个使用tar和bzip2来归档压缩的文件,请使用-j选项:
tar -cjvf filename.tbz file
如果使用bunzip2命令解压filename.tbz文件,则filename.tbz会被删除,以filename.tar代替。
要扩展并解除归档bzip tar文件,输入命令:
tar –xjvf filename.tbz
要创建一个用tar和gzip归档并压缩的文件,使用-z选项:
tar –czvf filename.tgz file
如果使用gunzip命令解压filename.tgz文件,则filename.tgz会被删除,以filename.tar代替。
3、有关关机和查看系统信息的命令
命令 | 说明 |
---|---|
shutdown | 正常关机 |
reboot | 重启计算机 |
ps | 查看目前程序执行的情况 |
top | 查看目前程序执行的情景和内存使用的情况 |
kill | 终止一个进程 |
date | 更改或查看目前日期 |
cal | 显示月历及年历 |
3.1 shutdown命令
要使用这个命令必须保证是根用户,否则使用su命令改变为根用户,格式命令如下
shutdown -(选项)
选项 | 功能 |
---|---|
-k | 不是真正的关机,只是发出警告命令 |
-r | 关机后重启(这个用得最多) |
-t | 在规定的时间内关机 |
3.2 reboot命令
这个命令也是一个关机命令,只有输入,不加任何参数,系统会以最快的速度关机,且不将内存或缓冲区里的东西写回硬盘。
选项 | 功能 |
---|---|
-d | 不把记录写到/var/log/wtmp档案里(-n这个参数包含了-d) |
-f | 强迫重开机,不呼叫shutdown这个指令 |
-n | 在重开机前不做将记忆体资料写回硬盘 |
-w | 并不会真的重开机,只是把记录写到/var/log/wtmp档案里 |
3.3 ps命令
ps命令用来查看在计算机系统中有哪些程序正在执行,及其执行的情况。这是一个相当强大的命令,可以用它来找出所有的process id和名称。另外,ps命令也可以用来列出所有程序占用内存的情况。用法如下:
ps –(选项)
选项 | 功能 |
---|---|
-l | 用长格式列出 |
-u | 列出使用者的名称和使用时间 |
-m | 列出内存分布的情况 |
-r | 只列出正在执行的前台程序,不列出其他信息 |
-x | 列出所有程序,包括那些没有终端机的程序 |
3.4 top命令
top命令可以查看目前程序的执行情景和内存使用。它和ps类似,不过,它会几秒钟更新一次系统状态,方便追踪。要离开这个程序,按Ctrl+C键就可以了。
3.5 kill命令
kill命令用来终止一个正在执行中的进程。如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源。不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以送很多信号给这些程序,也可以让他们受到信号后做很多事情。标准用法:
kill –(选项) pid
在执行kill命令前。可以先用ps命令查一下某宕掉程序的pid,然后使用kill除去某个程序。例如,终止pid为90的程序:
kill 90
选项 | 功能 |
---|---|
-l | 列出所有可用的信号名称 |
-p | 印出pid并不发送信号 |
-signal | 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束 |
将 pid 为 323 的行程砍掉 (kill) :
kill -9 323
将 pid 为 456 的行程重跑 (restart) :
kill -HUP 456
4.6 date命令
date命令用来显示、设定和修改现在的时间和日期。标准用法:
date –(选项) 显示时间格式(以+号开头,后加格式)
date 设定时间格式
选项 | 功能 |
---|---|
-u | 使用格林尼治时间 |
-r | 最后一次修改文件的时间 |
-s | 设置时间 |
常用的几种时间格式如下表所示:
格式 | 说明 |
---|---|
%a | 星期几的简称,例如一、二、三 |
%A | 星期几的全名,例如星期一、星期二 |
%D | 日期(mm/dd/yy格式) |
%T | 显示时间格式,24小时制(hh:mm:ss) |
%x | 显示日期的格式(mm/dd/yy) |
%y | 年的最后两个数字 |
%Y | 年(如2007、2008) |
%r | 时间(hh:mm:ss 上午或下午) |
%p | 显示上午或下午 |
如果输入命令:
date “+%x,%r”
系统返回如下信息:
2010年3月26日,下午 18时06分49秒
4.7 cal命令
cal命令有两种功能:显示月历以及年历。
直接输入cal命令则系统会显示目前月份的月历。
若要显示一整年的年历,可以在cal命令后加4位数的公元年份。例如要显示2008年的年历,必须输入:
cal 2008
若输入 cal 08 ,则最显示公元8年的年历。
若只需要查看某一年份中某一月份的月历,可以输入:cal 月份公元年份。例如输入:"cal 12 2004”。
5、管理使用者和设立权限的命令
命令 | 说明 | 命令 | 说明 |
---|---|---|---|
chmod | 用来改变权限 | useradd | 用来增加用户 |
su | 用来修改用户 |
5.1 chmod
chmod命令用来改变许可权限。读取、写入和执行是许可权限中的三个主要设置。因为用户在他们的账号被创建时就被编入一个组群,所以还可以指定那些组群可以读取、写入或执行某一文件。其中:
r—文件可以被读取,数字4
w—文件可以被写入,数字2
x—文件可以被执行,如果文件是程序的话,数字1
可以使用带有-l的ls命令来仔细查看一个文件的许多细节。
chmod命令用来设定文件的权限。标准用法:
chmod 文件的使用者(u,g,o,a)增减(+,-,=)权限名称(r,w,x) 文件
文件的使用者 | 说明 | 权限 | 说明 | 增减 | 说明 |
---|---|---|---|---|---|
u | 拥有文件的用户 | r | 读取权 | + | 添加权限 |
g | 所有者所在的组群 | w | 写入权 | - | 删除权限 |
o | 其他人 | x | 执行权 | = | 是它称为唯一权限 |
a | 全部(u,g和o) |
删除某一文件的所有权限,输入命令:
chmod a-rwx test.txt
为文件所有者添加权限,输入命令:
chmod u+rwx test
还可以用数字表示权限:4——读取,2——写入,1——执行。下面的两个命令等价:
chmod 751 filename
chmod u+rwx,g=rx,0=x filename
5.2 su命令
su命令用来修改用户。这个命令非常重要,它可以让一个普通的使用者拥有超级用户或其他使用者的权限。不过,这个命令必须具有超级用户或其他使用者的口令才能成为超级用户或其他使用者。如果要离开,可以输入exit。标准用法:
su 用户名 (如果没有输入用户名则预设为root)
举例说明,假设当前用户user01,想要转变为user02,则输入命令:
su user02
系统返回:
password:
此时,输入user02的指令,就会变为user02。
5.3 useradd命令
useradd命令用来增加用户,只有根用户才能增加用户。如果没有登录为根用户,输入su,再输入根口令即可。
要增加用户,输入命令:
useradd 用户名
然后,根据提示为新用户输入一个口令即可。
6、网络操作命令
命令 | 功能 | 命令 | 功能 |
---|---|---|---|
ftp | 传送文件 | telnet | 远端登陆 |
bye | 结束连线并结束程序 | rlogin | 远端登入 |
ping | 检测主机 | netstat | 显示网络状态 |
6.1 ftp命令
ftp命令用来传输文件,非常重要。如果在网络上看到一个很重要的文件,就可以用这个命令把那个文件传到自己的机器上来。
标准用法:
ftp (-选项) 主机名称或IP地址
选项 | 含义 |
---|---|
-D | 详细显示命令的执行过程,便于排错和分析程序的执行情况 |
-I | 关闭互动模式,不询问任何问题 |
-G | 关闭本地主机文件名称支持特殊字符的扩充特征 |
-N | 不适用自动登录。FTP在启动时,会尝试自动登录远端系统,它会从用户的转述目录中读取.netrc文件的内容,以便自行登录。若该文件不存在,FTP会放弃自动登录,并询问用户的账号名称 |
-V | 显示命令的执行过程 |
举例说明,用ftp登录ftp.dark.com主机,输入命令:
ftp ftp.dark.com
注意:用户必须有相应的存取权限,否则不能从远程系统中获得文件或向远程系统中传输文件。为了使用ftp来传输文件,用户必须知道远程计算机上的合法用户名和口令。
6.2 bye命令
在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行,没有选项。
6.3 ping命令
执行ping命令,它会使用ICMP传输协议,发出要求回应的信息,若远程主机的网络没有什么问题,就会回应信息,因而得知该主机运作正常。
标准用法:
ping (-选项) 主机名称或IP地址
选项 | 含义 |
---|---|
c 次数 | 设置完成要求回应的次数。ping命令会反复发出信息,直到达到设定的次数为止 |
D | 使用Socket的SO_DEBUG功能 |
F | 大量而且快速地送网络封包给一台机器,看它的回应。一般不到几秒钟,送出去的封包就会超过两千个 |
I 秒数 | 指定收发信息的间隔时间,单位为s,预置位1s。与参数f不兼容 |
S bytes | 设置数据包的大小。预设置为56B,加上8B ICMP头文件,共64B |
R | 忽略网关,直接将数据保送到远程主机上。如果该主机并非局域网的一份子,就会传回错误信息 |
Q | 不显示命令的执行过程,只显示结果 |
V | 详细显示命令的执行过程,包括非回应信息和其它信息 |
T 存活数值 | 设置存活数值TTL的大小。TTL是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃 |
6.4 telnet命令
telnet命令的主要功能是进行远程登录。该命令允许用户在使用telnet协议的远程计算机之间进行通信,用户可以通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过telnet登录计算机,必须知道远程计算机上的合法用户名和口令。telnet只为普通终端提供终端仿真,而不支持X Window等图形环境。
标准用法:
telnet 主机名或IP
例如登录IP地址为140.114.63.12的计算机,输入命令:
telnet 140.114.63.12
一旦telnet成功连接到远程系统上,就显示登录信息,并提示用户输入用户名和口令。如果用户名和口令正确,就能成功登录并在远程系统上工作。用户结束了远程会话后,一定要确保使用logout命令退出远程系统。然后telnet报告远程会话被关闭,并返回到用户本地机的shell提示符下。
6.5 rlogin命令
rlogin也是用来远程登录的。它的英文含义是remote login。该命令与telnet命令很相似,允许用户启动远程系统上的交互命令会话。用法:
rlogin (-选项) host
选项 | 含义 |
---|---|
8 | 允许输入8位字符数据 |
e | 为rlogin会话设置转义字符,默认的转义字符是“~”,用户可以指定一个文字字符或一个/nnn形式的八进制数 |
E | 停止任何转义字符。当与-8选项一起使用时,它提供一个完全透明的链接 |
l 用户名称 | 指定要登入远端主机的 |
L | 使用litout模式进行远端登入操作 |
例如,要登入别人的计算机。输入命令:
rlogin –l inin 140.114.125.24
6.6 netstat命令
netstat命令的主要功能是了解Linux系统的网络情况。假设没有指定任何参数给netstat命令,则效果和指定-F参数相同。
用法:
netstat (-选项)
选项 | 说明 |
---|---|
a | 显示所有连线中的Socket |
F | 显示FIB |
a | 全部列出,包括正在等待的程序 |
c | 持续列出网络状态 |
i | 显示网络界面信息 |
n | 使用网络ip地址代替名称 |
o | 显示计时器 |
r | 显示网络路径表 |
t | 显示TCP协议的连接情形 |
u | 显示UDP协议的连接情形 |
v | 显示版本信息 |
w | 显示RAW传输协议的连接情形 |
如果要过滤结果,请使用 grep 命令。例如,要查找在 TCP 端口 80 上侦听的进程,请键入:
netstat -tnlp | grep :80
7、有关磁盘的命令
命令 | 功能 |
---|---|
mount | 挂载文件系统 |
umount | 卸载已挂载上的文件系统 |
df | 检查各个硬盘分区和已挂上来的文件系统的磁盘空间 |
du | 显示文件目录和大小 |
fsck | 主要是检查和修复Linux文件系统 |
2.1 mount命令
mount命令的功能是挂载文件系统,可以挂载硬盘、光盘、软盘,也可以挂载NFS网络文件系统。这个命令的标准用法如下:
mount –t 设备类型存放目录
mount IP地址:/所提供的目录存放目录
选项 | 说明 |
---|---|
(无) | 不加任何参数,直接输入命令可以显示已挂载的文件系统和目录 |
-a | 挂上/etc/fstab下的全部文件系统 |
-t | 制定所挂上来的文件系统的名称,所有系统支持的文件系统,这个信息可以在/proc/filesystems这个文件里看到 |
-n | 挂上文件系统,但是不把文件系统的数据写入/etc/mtlab这个文件 |
-w | 将文件系统设为可读写 |
-r | 挂上来的文件系统设为只读 |
和修复Linux文件系统 |
2.1 mount命令
mount命令的功能是挂载文件系统,可以挂载硬盘、光盘、软盘,也可以挂载NFS网络文件系统。这个命令的标准用法如下:
mount –t 设备类型存放目录
mount IP地址:/所提供的目录存放目录
选项 | 说明 |
---|---|
(无) | 不加任何参数,直接输入命令可以显示已挂载的文件系统和目录 |
-a | 挂上/etc/fstab下的全部文件系统 |
-t | 制定所挂上来的文件系统的名称,所有系统支持的文件系统,这个信息可以在/proc/filesystems这个文件里看到 |
-n | 挂上文件系统,但是不把文件系统的数据写入/etc/mtlab这个文件 |
-w | 将文件系统设为可读写 |
-r | 挂上来的文件系统设为只读 |