Linux常用命令汇总

文章目录

1. Linux命令的格式

command [-options] parameter1 parameter2 ...
 命令	   选项       参数1      参数2

在这里插入图片描述
说明:

  • command :命令名,相应功能的英文单词或单词的缩写 ,命令这一部分肯定是存在的
  • [-options] :选项,可用来对命令进行控制,选项通常是以-来指明的,可以省略
  • parameter :传给命令的参数,可以是零个、一个 或者多个,可以省略
  • 命令、选项、参数之间以空格隔开(一个或多个空格都视为是一个空格

2. 文件与目录操作命令

序号命令对应英文作用
01cdchange Directory切换工作目录
02lslist列出当前目录下的内容
03mkdirmake Directory创建一个新的目录
04rmdirremove Directory删除一个空的目录
05rmremove移除文件或目录
06mvmove移动文件与目录,或更名
07cpcopy复制文件或目录
08touchtouch修改文件时间或创建新文件
09pwdprint working directory显示目前所在的目录

2.1. 切换工作目录:cd

  • 比较特殊的目录
. 	代表此层目录
.. 	代表上一层目录
- 	代表前一个工作目录
~ 	代表“目前使用者身份”所在的主文件夹
~account 	代表 account 这个使用者的主文件夹(account是个帐号名称)
cd ~dmtsai
# 去到 dmtsai 这个使用者的家目录,亦即 /home/dmtsai
cd ~
# 表示回到自己的家目录
cd
# 没有加上任何路径,也还是代表回到自己家目录
cd ..
# 表示去到目前的上层目录
cd -
# 表示回到上一次所在的目录
  • 绝对路径和相对路径

绝对路径:从根目录/一级级找下去,需要写出完整路径名

相对路径:参照当前所在目录进行查找,一般以 ... 来构成

2.2. 列出当前目录下的内容:ls

usage:
ls [-ahl] 目录名称
======================================================
选项与参数:
-a  :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-h  :将文件容量以人类较易读的方式(例如 GB, KB 等等)列出来
-l  :长数据串列出,包含文件的属性与权限等等数据(常用)
=====================================================
范例:
ls -al 
# 将当前目录下的所有文件列出来(含属性与隐藏文件)
ls -al ~
# 将主文件夹下的所有文件列出来(含属性与隐藏文件)

2.3. 创建新目录:mkdir

usage:
mkdir [-mp] 目录名称
====================================================
选项与参数:
-m :配置文件的权限,直接配置,不需要看默认权限 (umask) 的脸色
-p :直接将所需要的目录(包含上一级目录)递归创建起来
====================================================
范例:
mkdir test
# 创建一名为 test 的新目录
mkdir -p test1/test2/test3/test4
# 加了这个 -p 的选项,可以自行帮你创建多层目录
mkdir -m 711 test2
# 创建权限为rwx--x--x的目录

2.4. 删除“空”的目录:rmdir

rmdir test
# 删除test这个空目录

2.5. 移除文件或目录:rm

usage:
rm [-fir] 文件或目录
======================================================
选项与参数:
-f  :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i  :互动模式,在删除前会询问使用者是否动作
-r  :递回删除,最常用在目录的删除,这是非常危险的选项!
======================================================
范例:
[root@www tmp]# rm -i bashrc
# 将文档bashrc 删除掉,如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名
rm -i bashrc*
# 将/tmp底下开头为bashrc的档名通通删除,注意那个`*`,代表的是 0 到无穷多个任意字符
rm -r /tmp/etc
# 将/tmp/etc/ 这个目录删除掉

2.6. 移动文件与目录,或更名:mv

usage:
mv [-fiu] source destination
=======================================================
选项与参数:
-f  :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i  :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
=======================================================
范例:
mv  旧文件名   新文件名    ====>修改文件名
如:mv file1 filea      将当前目录的文件file1改名为filea

mv  旧目录名   新目录名    ====>修改目录名
如:mv dir1 dira        将当前目录下的目录dir1改为dira

mv  文件名     目录名      ====>移动路径
如:mv filea dira       将当前目录下filea移动到dira子目录
如:mv filea  ~         将当前目录下filea移动到家目录
如:mv ~/filea  ..      将家目录下的fila移动到当前路径的上一级目录

2.7. 复制文件或目录:cp

usage:
cp [-ipr] 来源文件(source) 目标文件(destination)
[root@study ~]# cp [options] source1 source2 source3 .... directory
======================================================
选项与参数:
-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-p :连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用);
-r :递回持续复制,用于目录的复制行为;(常用)
=====================================================
范例:
cp File1  file2    
# 将当前目录下的文件File1拷贝成file2
cp file2 dira/      
# 将当前目录下的文件file2拷贝到dira子目录
cp -r dira dirb
# 复制dira目录下的所有内容到dirb,其中`-r`参数表示递归复制
cp -i file2 dira
# 如果dira目录下面有同名的file2,加入-i参数就会要求你确认是否覆盖同名的文件

2.8. 修改文件时间或创建新文件:touch

使用场景:
创建一个空的文件;
将某个文件日期修订为目前 (mtime 与 atime)

touch file1 
# 在当前目录新建名为file1的文件

2.9. 显示目前所在的目录:pwd

pwd		单纯显示出目前的工作目录

3. Linux的文件权限

3.1. Linux文件属性

下达ls -al可以查看到文件的属性:

[root@www ~]# ls -al
drwx------   3    root   root     4096   Sep  5 10:37 .gconf      <=范例说明处
-rw-r--r--   1    root   root    42304   Sep  4 18:26 install.log <=范例说明处
[    1   ][  2 ][   3  ][  4 ][    5   ][     6     ][       7          ]
[  权限  ][链接数][拥有者][群组][文件容量][ 修改日期 ]  [  	档案名		]

上述七个字段代表的意思:
在这里插入图片描述

  • 第一栏共有十个字符,代表这个文件的类型与权限
    在这里插入图片描述
第一个字符代表这个文件是“目录、文件或链接文件等等”:
	1. 当为[ d ]则是目录;
	2. 当为[ - ]则是文件;
	3. 若是[ l ]则表示为链接文件(link file);
	4. 若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
	5. 若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。

接下来的字符中,以三个为一组,且均为“rwx” 的三个参数的组合;
[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute);
如果没有权限,就会出现减号[ - ]。
	1. 第一组为“文件拥有者可具备的权限”;(owner)
	2. 第二组为“加入此群组之帐号的权限”;(group)
	3. 第三组为“非本人且没有加入本群组之其他帐号的权限”。(others)	
  • 第二栏表示有多少文件名链接到此节点(i-node)
  • 第三栏表示这个文件/目录的“拥有者帐号”
  • 第四栏表示这个文件的所属群组
  • 第五栏为这个文件的容量大小,默认单位为Bytes;
  • 第六栏为这个文件的创建日期或者是最近的修改日期
  • 第七栏为这个文件的文件名

3.2. 修改文件权限

序号命令作用
01chgrp改变文件所属群组
02chown改变文件拥有者
03chmod改变文件的权限

3.2.1. 改变所属群组:chgrp

usage:
chgrp [-R] dirname/filename ...
====================================================
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件、目录都更新成为这个群组之意。常常用在变更某一目录内所有的文件的情况。
====================================================
范例:
chgrp users install.log		将文件install.log所属群组变更为users

3.2.2. 改变文件拥有者,chown

usage:
	chown [-R] 账号名称 文件或目录
	chown [-R] 账号名称:组名 文件或目录
===================================================
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都变更
===================================================
范例:
chown bin install.log
# 将install.log的拥有者改为bin这个账号
chown root:root install.log
# 将install.log的拥有者与群组变更为root

3.2.3. 改变权限:chmod

3.2.3.1. 数字类型改变文件权限
  • 文件权限基础知识
1. Linux文件的基本权限有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限
2. 我们可以使用数字来代表各个权限,各权限的分数对照表是:
	r:4 	w:2 	x:1
3. 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为 [- rwxrwx---] 分数则是:
	owner = rwx = 4+2+1 = 7 
	group = rwx = 4+2+1 = 7 
	others= --- = 0+0+0 = 0
  • chmod通过数字改变权限的语法
usage:
	chmod [-R] xyz 文件或目录
====================================================
选项与参数:
	xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
	-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
====================================================
范例:
chmod 777 .bashrc	将.bashrc这个文件所有的权限都设置启用
chmod 644 .bashrc	将.bashrc这个文件的权限修改成-rw-r--r--
3.2.3.2. 符号类型改变文件权限

九个权限每三个为一组分别属user / grou / others三种身份,我们就可以借由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份

范例:
chmod u=rwx,go=rx .bashrc
# 设置.bashrc这个文件的权限成为“-rwxr-xr-x”
chmod a+w .bashrc
# 增加.bashrc这个文件的每个人均可写入的权限
chmod a-x .bashrc
# 拿掉全部人的可执行权限

4. 文件内容查阅命令

序号命令作用
01cat由第一行开始显示文件内容
02tac从最后一行开始显示文件内容
03nl显示的时候,顺道输出行号
04more一页一页的显示文件内容
05less与 more 类似,但是比 more 更好的是,他可以往前翻页
06head只看头几行
07tail只看尾巴几行
08od以二进制的方式读取文件内容

4.1. 将文件内容一次性全部输出

4.1.1. 由第一行开始显示文件内容:cat

usage:
cat [-AbEnTv]
====================================================
选项与参数:
-n :打印出行号,连同空白行也会有行
范例:
cat /etc/issue
# 检阅 /etc/issue 这个文件的内容
cat -n /etc/issue
# 检阅 /etc/issue 这个文件的内容,加印行号

4.1.2. 从最后一行开始显示:tac

tac /etc/issue	由最后一行到第一行反向在屏幕上显示出来

4.1.3. 显示的时候,顺道输出行号:nl

nl /etc/issue	用 nl 列出 /etc/issue 的内容

4.2. 一页一页显示文件内容

4.2.1. more

more /etc/man.config
# Generated automatically from man.conf.in by the
# configure script
# man.conf from man-1.6d
....(中间省略)....
--More--(28%)  <== 重点在这一行!你的光标也会在这里等待你的命令
  • 使用 more 的操作键
    在这里插入图片描述

4.2.2. less

与 more 类似,但是比 more 更好的是,他可以往前翻页

less /etc/man_db.conf
  • 使用 less 的操作键
操作键功能
空格键向下翻动一页
pagedown向下翻动一页
pageup向上翻动一页
/word向下搜寻word字符串
?word向上搜寻word字符串
n重复前一个搜寻 (与 / 或 ? 有关)
N反向的重复前一个搜寻 (与 / 或 ? 有关)
q离开 less 这个程序

4.3. 只看特定几行内容

4.3.1. 只看头几行:head

usage:
head [-n number] 文件
=====================================================
选项与参数:
-n :后面接数字,代表显示几行的意思
=====================================================
范例:
head /etc/man_db.conf
# 默认的情况中,显示前面十行
head -n 20 /etc/man_db.conf
# 显示前面20行

4.3.2. 只看尾巴几行:tail

usage:
tail [-n number] 文件
=====================================================
选项与参数:
-n :后面接数字,代表显示几行的意思
====================================================
范例:
tail /etc/man_db.conf
# 默认的情况中,显示最后的十行
tail -n 20 /etc/man_db.conf
# 显示最后20行

4.4. 查看非纯文本文件

4.4.1. 以二进位的方式读取文件内容:od

usage:
od [-t TYPE] 文件
=======================================================
选项或参数:
-t :后面可以接各种“类型 (TYPE)”的输出,例如:
	a :利用默认的字符来输出;
	c :使用 ASCII 字符来输出
	d[size] :利用十进制(decimal)来输出数据,每个整数占用 size Bytes ;
	f[size] :利用浮点数值(floating)来输出数据,每个数占用 size Bytes ;
	o[size] :利用八进位(octal)来输出数据,每个整数占用 size Bytes ;
	x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size Bytes ;
=====================================================
范例:	
od -t c /usr/bin/passwd
# 将/usr/bin/passwd的内容使用ASCII方式来展现

5. 查找命令

5.1. 查找符合条件的文件:find

find 默认会递归搜寻子目录文件

5.1.1. 根据文件名查找文件

usage:
find 目录名 选项 查找条件
范例:
find / -name passwd
# 找出文件名为 passwd 的文件
find / -name "*passwd*"
# 找出文件名包含了 passwd 这个关键字的文件
find /etc -name '*httpd*'
# 找出 /etc 下面文件名包含 httpd 的文件

5.1.2. 查找几天内有变动的文件

usage:
find [PATH] [option] [action]
====================================================
选项与参数:
-mtime n :n 为数字,意义为在 n 天之前的“一天之内”被更动过内容的文件;
-mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件文件名;
-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件文件名。
=====================================================
范例:
find / -mtime 4
# 将4天前的 24 小时内有变动过的文件都列出来
find /var -mtime -4
# 将4天内有被更动过的文件列出来
find /var -mtime +4
# 将4天之前(不包括第4天)有被更动过的文件列出来
  • 有没有加上“+, -”的差别
    在这里插入图片描述

+4代表大于等于5天前的文件名:find /var -mtime +4
-4代表小于等于4天内的文件文件名:find /var -mtime -4
4则是代表4-5那一天的文件文件名: find /var -mtime 4

5.2. 查找文件中符合条件的字符串:grep

使用grep命令来查找文件中符合条件的字符串
grep 是分析一行信息, 若当中有我们所需要的信息就将该行拿出来

usage:
grep [-inv] '搜寻字串' filename
=====================================================
选项与参数:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字串' 内容的那一行
====================================================
范例:
grep -n "abc" test1.txt 	在test1.txt中查找字符串abc
grep -rn "abc" * 			在当前目录下递归查找字符串abc
grep -v "abc" test1.txt 	在test1.txt中,只要没有字符串abc的行就取出

5.3. 查找命令或应用程序所在位置:which,whereis

5.3.1. which

which 默认是根据“PATH”这个环境变量所规范的路径,去搜寻“可执行文件”的文件名

which pwd       定位到/bin/pwd
which gcc       定位到/usr/bin/gcc

5.3.2. whereis

whereis ==> 由一些特定的目录中寻找文件文件名
whereis 主要是针对 /bin /sbin下面的可执行文件, 以及 /usr/share/man下面的 man page 文件来搜索而已

whereis  pwd    	查找到可执行程序的位置/bin/pwd和手册页的位置/usr/share/man/man1/pwd.1.gz

6. 文件打包压缩命令

6.1. 压缩单个文件

6.1.1. gzip压缩单个文件

usage:
gzip [-lkdv] 文件名
=======================================================
选项与参数:
-l:列出压缩文件的内容
-k:在压缩或解压时,保留输入文件
-d:将压缩文件进行解压缩
-v:可以显示出原文件/压缩文件的压缩比等信息
===================================================
范例:
1)查看
gzip -l 压缩文件名
比如:gzip -l pwd.1.gz

2)解压
gzip -kd 压缩文件名
比如:gzip -kd pwd.1.gz 该压缩文件是以.gz结尾的单个文件

3)压缩
gzip -k 源文件名
比如:gzip -k mypwd.1 得到了一个.gz结尾的压缩文件

注意:

  • 如果gzip不加任何选项,此时为压缩,压缩完该文件会生成后缀为.gz的压缩文件,并删除原有的文件,所以说,推荐使用gzip -k来压缩源文件。
  • gzip只能压缩单个文件,不能压缩目录。

6.1.2. bzip2压缩单个文件

usage:
bzip2 [-dkzv] 文件名
===================================================
选项与参数:
-d :解压缩的参数
-k :保留原始文件,而不会删除原始的文件喔!
-z :压缩的参数 (默认值,可以不加)
-v :可以显示出原文件/压缩文件的压缩比等信息;
===================================================
范例:
1)压缩
bzip2 -k 源文件名
比如:bzip2 -k mypwd.1得到一个.bz2后缀的压缩文件

2)解压
bzip2 -kd 压缩文件名
比如:bzip2 -kd mypwd.1.bz2

注意:

  • 如果bzip2不加任何选项,此时为压缩,压缩完该文件会生成后缀为.bz2的压缩文件,并删除原有的文件,所以说,推荐使用bzip2 -k 来压缩源文件。

  • bzip2只能压缩单个文件,不能压缩目录。

6.1.3. xz压缩单个文件

usage:
xz [-dlkv] 文件名
=======================================================
选项与参数:
-d :就是解压缩啊
-t :测试压缩文件的完整性,看有没有错误
-l :列出压缩文件的相关信息
-k :保留原本的文件不删除
-v :可以显示出原文件/压缩文件的压缩比等信息
=======================================================
范例:
1)压缩
xz -k 源文件名
比如:bzip2 -k mypwd.1	得到一个.xz后缀的压缩文件

2)解压
xz -kd 压缩文件名
比如:xz -kd mypwd.1.xz

注意:

  • 如果xz不加任何选项,此时为压缩,压缩完该文件会生成后缀为.xz的压缩文件,并删除原有的文件,所以说,推荐使用xz -k 来压缩源文件。

  • xz只能压缩单个文件,不能压缩目录。

6.2. 打包、压缩多个文件或目录:tar

  • tar常用选项:
-c(create):创建打包文件,用来生成文件包
-x:解打包或解压缩的功能,可以搭配-C在特定目录解开
-t:察看打包文件里面含有哪些文件,重点在察看『文件名』
-z:使用gzip方式进行压缩 / 解压缩,它与`c`结合就表示压缩,与`x`结合就表示解压缩。 
-j:使用bzip2方式进行压缩 / 解压缩,它与`c`结合就表示压缩,与`x`结合就表示解压缩
-J:使用xz方式进行压缩 / 解压缩,它与`c`结合就表示压缩,与`x`结合就表示解压缩
-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来
-f  <filename>:指定档案文件名称,-f后面要立刻接要被处理的文件,所以必须放选项最后 
-C  <指定目录>:解压到指定目录   

6.2.1. tar打包、gzip压缩

1)压缩
tar -czvf 压缩文件名 目录名
如:tar -czvf dira.tar.gz dira
注意:tar -czvf与tar czvf是一样的效果,所以说,后面统一取消-。

2)查看
tar -tzvf 压缩文件名
如:tar -tzvf dira.tar.gz

3)解压
tar -xzvf 压缩文件名
tar -xzvf 压缩文件名 -C 指定目录
如:tar -xzvf dira.tar.gz 解压到当前目录
如:tar -xzvf dira.tar.gz -C /home/book 解压到/home/book

6.2.2. tar打包、bzip2压缩

1)压缩:
tar -cjvf 压缩文件名 目录名
如:tar -cjvf dira.tar.bz2 dira

2)查看:
tar -tjvf 压缩文件名
如:tar -tjvf dira.tar.bz2

3)解压:
tar -xjvf 压缩文件名
tar -xjvf 压缩文件名 -C 指定目录
如:tar xjvf dira.tar.bz2 解压到当前目录
如:tar xjvf dira.tar.bz2 -C /home/book 解压到/home/book

6.2.3. tar打包、xz压缩

1)压缩:
tar -cJvf 压缩文件名 目录名
如:tar -cJvf dira.tar.xz dira

2)查看:
tar -tJvf 压缩文件名
如:tar -tJvf dira.tar.xz

3)解压:
tar -xJvf 压缩文件名
如:tar xjvf dira.tar.xz 解压到当前目录

7. 磁盘与目录的容量

序号命令作用
01dfdisk free 显示磁盘剩余空间
02dudisk usage 显示目录下的文件大小

7.1. 显示磁盘剩余空间:df

usage:
df [-ah] [目录或文件名]
======================================================
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
范例:
df
# 不加任何选项,默认会将系统内所有的 filesystem 列出来!
df -h
# 将容量结果以易读的容量格式显示出来
df -h /etc
# 将 /etc 下面的可用的磁盘容量以易读的容量格式显示

7.2. 显示目录下的文件大小:du

usage:
du [-ahs] 文件或目录名称
======================================================
选项与参数:
-a :列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
======================================================
范例:
du
# 列出目前目录下的所有文件大小
du -a
# 列出目前目录下的所有文件大小,但是将文件的容量也列出来

8. 其它命令

序号命令作用
01date显示日期与时间
02cal显示日历
03bc简单好用的计算器
04history显示在终端中所执行过的历史命令
05man/info/help查阅命令帮助信息
06shutdown关机/重启
07file识别文件类型
08apt安装/卸载软件
09ln创建实体链接与符号链接
10alias设置命令别名
11``
12> >>重定向
13tee双向重定向
14-减号-的用途

8.1. 显示日期的指令:date

date			显示目前系统的当前时间
# Fri May 29 14:32:01 CST 201

date +%Y/%m/%d	格式化输出系统时间
# 2015/05/29

date +%H:%M		格式化输出系统时间
# 14:33

8.2. 显示日历的指令:cal

cal			列出目前这个月份的月历
cal 2015	显示2015年整年的月历情况
cal 10 2015	显示2015年10月的月历

8.3. 简单好用的计算器:bc

bc				进入到bc这个软件的工作环境当中
scale=number	设置小数点位数
# bc默认仅输出整数,如果要输出小数点下位数,那么就必须要运行 scale=number ,那个number就是小数点位数
quit			离开bc回到命令提示字符界面

8.4. 显示历史命令:history

history	显示在终端中所执行过的历史命令

8.5. 查阅命令帮助信息

8.5.1. 指令的 --help 求助

通过 --help 可以很快速取得你所需要的命令的选项、参
数的说明

举列:
date --help	取得date指令的帮助信息
ls --help	取得ls指令的帮助信息

8.5.2. man查阅命令使用手册

可以通过man page查阅 command 命令的使用手册
man 是 manual 的缩写,是 Linux 提供的一个 手册,包含了绝大部分的命令、函数的详细使用

举列:
man date	查阅date指令的使用手册

man手册通常有9册内容:
在这里插入图片描述
man page中常用的快捷键:
在这里插入图片描述

8.5.3. info查阅命令使用手册

info与man的用途其实差不多, 可将一份说明文档拆成多个节点(node)显示,并具有类似超链接的功能,增加易读性,平时较少使用
举例; info ls

8.5.4. 总结help,man,info

  • 如果你知道某个指令,但却忘记了相关选项与参数,请使用–help的功能来查询相关信息;
  • 当有任何你不知道的指令或文件格式,但是你想要了解它,请使用man或者是info来查询!

8.6. 关机/重启

序号命令作用
01sync将数据同步写入硬盘中
02shutdown惯用的关机命令
03reboot, halt, poweroff重新启动,关机

8.6.1. shutdown

usage:
shutdown [-krhc] [时间] [警告讯息]
=================================================
选项与参数:
-k : 不要真的关机,只是发送警告讯息出去
-r : 在将系统的服务停掉之后就重新开机(常用)
-h : 将系统的服务停掉后,立即关机(常用)
-c : 取消已经在进行的 shutdown 指令内容
=================================================
范例:
shutdown
# 单纯执行 shutdown 之后,系统默认会在 1 分钟后进行关机动作
shutdown -h now
# 立刻关机,其中 now 相当于时间为 0 的状态
shutdown -h 20:25
# 系统在今天的 20:25 分会关机,若在21:25才下达此指令,则隔天才关机
shutdown -h +10
# 系统再过十分钟后自动关机
shutdown -r now
# 系统立刻重新开机
shutdown -r +30 'The system will reboot'
# 再过三十分钟系统会重新开机,并显示后面的讯息给所有在线上的使用者
shutdown -k now 'This system will reboot'
# 仅发出警告信件的参数,系统并不会关机

8.6.2. reboot, halt, poweroff

sync; sync; sync; reboot
# 先将数据写回内存,再重启
halt
# 系统停止,屏幕可能会保留系统已经停止的讯息
poweroff
# 系统关机,所以没有提供额外的电力,屏幕空白

8.7. 识别文件类型:file

usage:
file 文件名
==================================================
范例:
file ~/.bashrc     为ASCII 编码的text类型
file ~/.vimrc      为UTF-8 Unicode 编码的text类型
file ~/Pictures/*  如图形文件JPEG/PNG/BMP格式
file ~/100ask/     为directory表明这是一个目录
file /bin/pwd      出现 ELF 64-bit LSB executable,即为ELF格式的可执行文件
file /dev/*        出现character special(字符设备文件)、 block special(块设备文件)等

8.8. 安装/卸载软件:apt

apt 是 Advanced Packaging Tool ,是 Linux 下的一款安装包管理工具,可以在终端中方便的 安装/卸载/更新软件包

sudo apt install 软件包
# 安装软件
sudo apt remove 软件名
# 卸载软件
sudo apt upgrade
# 更新已安装的包

8.9. 创建实体链接与符号链接:ln

usage:
ln [-s] 来源文件 目标文件
=====================================================
选项与参数:
-s :如果不加任何参数就进行链接,那就是hard link,至于 -s 就是symbolic link
=======================================================
范例:
ln passwd passwd-hd
# 将 /tmp/passwd 制作 hard link 成为 passwd-hd 文件
ln -s /etc/crontab crontab2
# 创建一个符号链接文件链接到 /etc/crontab

8.9.1. Hard Link,实体链接

在使用 ln 创建链接时,如果没有 -s 选项建立的是一个硬链接文件,来源文件和目标文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接

8.9.2. Symbolic Link,符号链接,亦即是快捷方式

ln -s 被链接的源文件 链接文件
建立文件的符号链接,用通俗的方式讲类似于 Windows 下的快捷方式

  • 实体链接和符号链接文件读取示意图:
    在这里插入图片描述

8.10. 命令别名设置: alias

8.10.1. 设置命令别名

alias lm='ls -al | more'
# 以后你只要输入 lm 就相当于输入了 ls -al|more这一串指令
alias rm='rm -i'
# 以后使用 rm 的时候会让我们确认是否要移除该文件,避免误删除

8.10.2. 取消命令别名

unalias lm
unalias rm

8.11. 管线命令:pipe

Pipe:一个命令的输出可以通过管道作为另一个命令的输入

管线命令『 | 』仅能处理经由前面一个命令传来的正确信息,也就是 standard output 的信息,对于 stdandard error会予以忽略

常用的管线命令有:
more :分屏显示内容
grep :在命令执行结果的基础上查询指定的文本

在这里插入图片描述

ls -al /etc | less
# 这样使用 ls 命令输出后的内容,就能够被 less 读取,并且利用 less 的功能,我们就能够前后翻动相关的信息

8.12. 重定向 > 和 >>

Linux允许将命令执行结果重定向到一个文件,将本应显示在终端上的内容输出或追加到指定文件中

> 表示输出,会覆盖文件原有的内容

>> 表示追加,会将内容追加到已有文件的末尾

8.13. 双向重导向:tee

tee 会同时将数据流分送到文件与屏幕,可以将输出转存一份到文件内并将同样的数据继续送到屏幕去处理

在这里插入图片描述

usage:
tee [-a] file
=======================================================
选项与参数:
-a  :以累加 (append) 的方式,将数据加入 file 当中
=======================================================范例:
ls -l /home | tee ~/homefile | more
# 将 ls 的数据存一份到 ~/homefile ,同时屏幕也有输出信息
ls -l / | tee -a ~/homefile | more
# tee 后接的文件会被覆盖,若加上 -a 这个选项则能将信息累加

8.14. 关于减号 - 的用途

在管线命令当中,常常会使用到前一个命令的stdout 作为下一个命令的stdin , 某些命令需要用到文件名 (例如 tar) 来进行处理时,该 stdin 与 stdout 可以利用减号 “-” 来替代

tar -cvf - /home | tar -xvf -
# 将 /home 里面的文件打包,但打包的数据不是纪录到文件,而是传送到 stdout;
# 经过管线后,将 tar -cvf - /home 传送给后面的 tar -xvf - 。后面的这个 - 则是取用前一个命令的 stdout

9. 常用的几个快捷键

9.1. [Tab]按键

具有命令补全与文件补齐的功能

9.2. [Ctrl]-c 按键

中断目前程序,让当前正在执行的程序停掉

9.3. ⬆ ⬇光标键

可以在曾经使用过的命令之间来回切换

9.4. [Ctrl]-d 按键

代表着 “键盘输入束(End Of File, EOF 或 End Of Input)”的意思;可以用来取代exit的输入,直接离开命令行

9.5. [shift]+{[PageUP]|[Page Down]}按键

使用 [Shift]+[Page Up] 来往前翻页,也能够使用 [Shift]+[Page Down] 来往后翻页

9.6. [ctrl] + a/[ctrl] + e/[ctrl] + k

[ctrl]+a:让光标移动到整个指令串的最前面
[ctrl]+e:让光标移动到整个指令串的最后面
[ctrl]+k:删除从光标所在位置到行末

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值