目录
15 压缩与解压:zip / unzip (zip可以处理目录)
16 压缩与解压:gzip / gunzip (不能是目录,压缩完移除原始文件)
17 压缩与解压:bzip2 / bunzip2 (不能是目录,压缩完移除原始文件)
23 探测文件类型: file 探测文件功能: whatis
32 去掉文件名的目录和后缀,最后获取文件名称:basename
38 关机:reboot, halt,poweroff shutdown
1 目录显示:ls
-a:显示全部文件
-l:显示详细信息
-t:按时间顺序
-r:反向排序
. :当前目录
.. :当前目录上一级目录
2 创建目录:mkdir
-p:可以递归创建多个目录
3 删除目录:rmdir
-p-:- p 递归删除目录,当子目录删除后其父目录为空时,也一同被删除。
4 删除文件:rm
-f: --force 忽略不存在的文件,从不给出提示。
-i: --interactive 删除前需要确认
-r: --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v:--verbose 详细显示进行的步骤
5 拷贝:cp
-r: 拷贝目录
-i:添加提示信息
-f:忽略提示信息
6 移动剪贴: mv
-i:如果mv操作将导致对已存在的目标文件的覆盖,此时系统会询问是否覆盖,这样可以避免误覆盖文件。
-f:在mv操作要覆盖某已有的目标文件或目录时不给任何指示,默认覆盖。
-i:如果所给目标文件(不是目录)已存在,此时该文件的内容将后备新文件覆盖,为防止用户用mv命令破坏另一个文件
-b:覆盖文件前先对其进行备份
-u或--update:移动或覆盖目的文件时若日期比目的文件旧,且目的文件已经存在,则不执行覆盖文件命令
7进入一个目录:cd
cd ~:当前用户的家目录
cd - :返回上次所在路径
cd . :当前目录
cd .. :返回上一级目录
8 显示当前路径: pwd
9 显示日期: date
10 显示日历的指令:cal
11 打印文件内容:cat
-n:打印行号
12 反向打印文件内容: tac
13 分页显示文件内容:more
+n 从笫n行开始显示
-n 定义屏幕大小为n行
-c 从顶部清屏,然后显示
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
14 不仅显示分页,还可以匹配查找: less
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-i 忽略搜索时的大小写
-N 显示每行的行号
-s 显示连续空行为一行
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
15 压缩与解压:zip / unzip (zip可以处理目录)
zip
命令常用选项如下:
-r:递归处理,将指定目录下的所有文件和子目录一并处理。
-m:递归处理,将指定目录下的所有文件和子目录一并处理。
-u:更换较新的文件到压缩文件内。
unzip
命令常用选项如下:
-l:显示压缩文件内所包含的文件(仅显示,并不解压)
-d<目录>:解压文件到指定目录。
-t:检查压缩文件是否正确。
-j:不处理压缩文件中原有的目录路径。
16 压缩与解压:gzip / gunzip (不能是目录,压缩完移除原始文件)
17 压缩与解压:bzip2 / bunzip2 (不能是目录,压缩完移除原始文件)
18 打包器:tar
tar
命令是用来归档(把多个文件归档成一个文件)与提取的,本质上没有压缩与解压缩的功能。
必选其中之一参数(而且 一次只能使用其中一个,不能同时使用多个)
-c:建立一个压缩文件的参数指令(create 的意思);
-x:解开一个压缩文件的参数指令!
-t:查看 tarfile 里面的文件!
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
可选参数
-z:有gzip属性,即需要用 gzip 压缩
-j:有bz2属性,即需要用 bzip2 压缩
-v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
19 查找文件:find
时间查找参数:
-atime n :将n*24小时内存取过的的文件列出来
-ctime n :将n*24小时内改变、新增的文件或者目录列出来
-mtime n :将n*24小时内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来
名称查找参数:
-gid n :寻找群组ID为n的文件
-group name :寻找群组名称为name的文件
-uid n :寻找拥有者ID为n的文件
-user name :寻找用户者名称为name的文件
-name file :寻找文件名为file的文件(可以使用通配符)
20 搜寻指定档案: locate
locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。
locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护
21 搜索程序:whereis
-b 定位可执行文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。
22 查看可执行文件:which
可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n参数相同,但此处的包括了文件的路径。
-w 指定输出时栏位的宽度
23 探测文件类型: file 探测文件功能: whatis
-b 列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件> 指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
-L 直接显示符号连接所指向的文件的类别。
-z 尝试去解读压缩文件的内容。
24 改变文件隐藏属性:chattr
基本语法 :chattr [ -RVf ] [ -v version ] [ mode ] files…
[mode]部分的格式是+-=[acdeijstuACDST],这部分是用来设置文件的属性。其中+
表示在原有参数设定基础上追加参数;-
表示在原有参数设定基础上移除参数;=
表示更新为指定参数。
在chattr中用于设置或者取消属性的 操作符
'+' 符号用来为文件和文件夹设置属性,
'-' 符号用来移除或者取消属性
'=' 使它们成为文件有的唯一属性。
chattr属性中可以使用的不同选项 :
-A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
-S:硬盘I/O同步选项,功能类似sync。
-a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。
-c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
-d:即no dump,设定文件不能成为dump程序的备份目标。
-i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
-j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先 被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
-s:保密性地删除文件或目录,即硬盘空间被全部收回。
-u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。
各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。
25 显示文件属性: lsattr
语法:lsattr [-adlRvV][文件或目录...]
补充说明:用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。
参数:
-a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
-d 显示,目录名称,而非其内容。
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 显示文件或目录版本。
26 改变访问权限:chmod
Linux的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。
语法:
一:chmod :chmod [对象][+|-|=][权限] 文件名
二:chmod [权限] 文件名
数字权限的表示:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。数字设定法需要同时设定u、g、o三组用户的权限,依次用3个8进制数表示。
若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=5。
- u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
- + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
- r 表示可读取,w 表示可写入,x 表示可执行
- -c : 若该文件权限确实已经更改,才显示其更改动作
- -f : 若该文件权限无法被更改也不要显示错误讯息
- -v : 显示权限变更的详细资料
- -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
27 改文件时间戳或者新建一个不存在的文件: touch
-a:改变档案的读取时间记录。
-d:设定时间与日期,可以使用各种不同的格式。
-m:改变档案的修改时间记录
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 设定档案的时间记录,格式与 date 指令相同。
28 八进制字码输出文件内容: od
od命令用于输出文件的八进制、十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符。
常见的文件为文本文件和二进制文件。此命令主要用来查看保存在二进制文件中的值。
比如,程序可能输出大量的数据记录,每个数据是一个单精度浮点数。这些数据记录存放在一个文件中,如果想查看下这个数据,这时候od命令就派上用场了。在我看来,od命令主要用来格式化输出文件数据,即对文件中的数据进行无二义性的解释。不管是IEEE754格式的浮点数还是ASCII码,od命令都能按照需求输出它们的值。
29 默认显示尾部的前N行: tail
-n:表示具体显示多少行
不带参数,默认是显示开始10行
30 默认显示头部的前N行:head
-n:表示具体显示多少行
不带参数,默认是显示开始10行
31 计算文件行号:nl
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
32 去掉文件名的目录和后缀,最后获取文件名称:basename
33 命令去掉文件名获取路径名:dirname
34 预设权限:unmask
若使用者建立为 '档案' 则预设 '没有可执行 ( x ) 项目', 亦即只有 rw 这两个项目, 用数字表示就是666或字母
–rw-rw-rw-
若使用者建立为 '目录', 则由于 x 与是否可以进入此目录有关, 因此预设为所有权限均开放, 亦即为777 或字母
d-rwx-rwx-rwx
umask 就是指定 '目前用户在建立档案或目录时候的权限默认值'.
假设umask为003,请问使用该umask,建立的文件与目录权
限是什么?
答:
umask为003,所以去掉的属性为 --------wx,因此:
文件:666(-rw-rw-rw-) - (--------wx) = -rw-rw-r--
目录:777(drwxrwxrwx) - (--------wx) = drwxrwxr--
作用:默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2),它是为了控制默认权限,不要使默认的文件和目录具有全权而设的
-S:就会以符号类型的方式显示权限
35 改变拥有者和群组:chown
命令格式:chown [选项]... [所有者][:[组]] 文件...
命令功能:通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
必要参数:
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
36 改变文件的群组属性:chgrp
命令格式:chgrp [选项] [组] [文件]
命令功能:chgrp命令可采用群组名称或群组识别码的方式改变文件或目录的所属群组。使用权限是超级用户。
命令参数:
-c 当发生改变时输出调试信息
-f 不显示错误信息
-R 处理指定目录以及其子目录下的所有文件
-v 运行时显示详细的处理信息
37 任意精度的计算器:bc
38 关机:reboot, halt,poweroff shutdown
际中有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失使系统处于不稳定的状态。甚至在有的系统中会损坏硬件设备
1.shutdown 安全的关机命令
shutdown执行它的工作是送信号〔signal〕给init程序,要求它改变 runlevel。runlevel 0 被用来停机〔halt〕,runlevel 6 是用来重新激活〔reboot〕系统,而 runlevel 1则是被用来让系统进入管理工作可以进行的状态,这是预设的。假定没有-h也没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作?你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
shutdown 参数说明:
[-t] 在改变到其它runlevel之前,告诉init多久以后关机。
[-r] 重启计算器。
[-k] 并不真正关机,只是送警告信号给每位登录者〔login〕。
[-h] 关机后关闭电源〔halt〕。
[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。
[-f] 在重启计算器
[-time] 设定关机〔shutdown〕前的时间。
2.halt 最简单的关机命令
用halt命令来关机时,实际调用的是shutdown -h。halt 执行时将杀死应用进程,执行sync系统调用文件系统写操作完成后就会停止内核。
halt 参数说明:
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前关掉所有的网络接口。
3.reboot 重启命令
reboot的工作过程差不多跟halt一样。不过它是引发主机重启,而halt是关机。它的参数与halt相差不多
4.init
init是所有进程的祖先,他是Linux系统操作中不可缺少的程序之一。它的进程号始终为1,所以发送TERM信号给init会终止所有的用户进程,守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机,init 1为重启。
5.poweroff 常用的关机命令
39 数据同步:sync
Linux 系统中欲写入硬盘的资料有的时候会了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中。
使用场合:
1.在关机或者开机之前最好多执行这个几次,以确保数据写入硬盘。
2.挂载时,需要很长时间的操作动作(比如,cp 大文件,检测文件),在这个动作之后接sync。
3.卸载U盘或其他存储设备,需要很长时间,使用sync。
40 帮助指令:man
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息
Space 向文件尾部翻屏。
b 向文件首部翻屏。
d 向文件尾部翻半屏。
u 向文件首部翻半屏。
y 向文件首部翻一行。
e 向文件尾部翻一行。
1G 回到文件首部。
G 回到文件尾部。
q 退出man。
41 init
init是Linux系统操作中不可缺少的程序之一。
所谓的init进程,它是一个由内核启动的用户级进程。
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到
# 5 - X11 (xwindow)
# 6 - 重新启动 (千万不要把initdefault 设置为6 )
42 Linux各种快捷命令:
节省时间的大招——Tab补全按键!!!
Ctrl + l 清屏,相当于clear命令。
Ctrl + z 挂起,程序放到后台,程序没有结束。
Ctrl + c 终止命令,结束进程。
Ctrl + a 将光标移动到命令行首,相当于Home按键。
Ctrl + e 将光标移动到命令行尾,相当于End按键。
Ctrl + f 将光标向右移动一个字符。
Ctrl + b 将光标向左移动一个字符。
Ctrl + u 从光标处删除至行首。
Ctrl + k 从光标处删除至行尾。
附加两个防止误操作的,不太常用。
Ctrl + s 锁屏,阻止屏幕输出。
Ctrl + q 解锁,允许屏幕输出。
Ctrl + alt 跳换出windows鼠标