linux命令

来源:互联网 发布:分销商城系统源码下载 编辑:程序博客网 时间:2024/06/05 20:21

文件和目录操作命令(12 个)

ls tree pwd mkdir rmdir cd touch cp mv rm ln find

 

ls:档案与目录的检规:

ls [-aAdfFhilnrRSt] 目录名称

ls [--color={never,auto,always}] 目录名称

ls [--full-time] 目录名称

选项与参数:

-a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来(常用)

-A :全部的档案,连同隐藏档,但不包括 . 和 .. 这两个目录

-d :仅列出目录本身,而不是列出目录内的档案数据(常用)

-f :直接列出结果,而不进行排序(ls 预设会以档名排序!)

-F :根据档案、目录等信息,给予附加数据结构,例如:

    *:代表可执行文件; /:代表目录; =:代表 socket 档案; |:代表FIFO 档案;

-h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来;

-i :列出 inode 号码,inode 的意义下一章将会介绍;

-l :长数据串行出,包括档案的属性不权限等等数据;(常用)

-n :列出 UID 不 GID 而非使用者不群组的名称 (UID 不 GID 会在账号管理提

到!)

-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;

-R :连同子目录内容一起列出来,等于该目录下的所有档案都会显示出来;

-S :以档案容量大小排序,而不是用档名排序;

-t :依时间排序,而不是用档名。

--color=never :不要依据档案特性给予颜色显示;

--color=always :显示颜色

--color=auto :让系统自行依据设定来判断是否给予颜色

--full-time :以完整时间模式 (包括年、月、日、时、分) 输出

--time={atime,ctime} :输出 access 时间或改变权限属性时间 (ctime)

而非内容变更时间 (modification time)

 

 

tree:以树状图列出目录的内容
语  法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]
补充说明:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。
参  数:
  -a   显示所有文件和目录。
  -A   使用ASNI绘图字符显示树状图而非以ASCII字符组合。
  -C   在文件和目录清单加上色彩,便于区分各种类型。
  -d   显示目录名称而非内容。
  -D   列出文件或目录的更改时间。
  -f   在每个文件或目录之前,显示完整的相对路径名称。
  -F   在执行文件,目录,Socket,符号连接,管道名称,各自加上"*","/","=","@","|"号。
  -g   列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
  -i   不以阶梯状列出文件或目录名称。
  -I<范本样式>   不显示符合范本样式的文件或目录名称。
  -l   如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
  -n   不在文件和目录清单加上色彩。
  -N   直接列出文件和目录名称,包括控制字符。
  -p   列出权限标示。
  -P<范本样式>   只显示符合范本样式的文件或目录名称。
  -q   用"?"号取代控制字符,列出文件和目录名称。
  -s   列出文件或目录大小。
  -t   用文件和目录的更改时间排序。
  -u   列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
  -x   将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

 

pwd :显示目前所在的目录

    -P :显示出确实癿路径,而非使用链接 (link) 路径

mkdir :建立新目录

mkdir [-mp] 目录名称

选项与参数:

-m :配置文件案的权限喔!直接设定,不需要看预设权限 (umask) 癿脸色~

-p :帮助你直接将所需要的目录(包括上层目录)递归建立起来!

 

rmdir:删除新目录

rmdir [-p] 目录名称

选项不参数:

-p :连同上层『空的』目录也一起删除

 

 

cd :变换目录

cd [相对路径戒绝对路径]

   

 

touch:修改档案时间或建置新档

touch [-acdmt] 档案

选项不参数:

-a :仅修订 access time;

-c :仅修改档案的间,若该档案不存则不建新档案;

-d :后面可以接欲修订的期而不目前的期,也可以使用 --date="日期或时间

-m :仅修改 mtime ;

-t :后面可以接欲修订癿时间而丌用目前癿时间,格式为[YYMMDDhhmm]

 

cp :制档案或目录

cp[-adfilprsu] 来源文件(source) 目标文件(desination)

选项不参数:

-a :相当于 -pdr 得意思,至于 pdr 请参考下列说明;(常用)

-d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;

-f :为强制(force)的意思,若目标档案已经存在且无法开启,则移除后再尝试一次;

-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l :进行硬式连结(hardlink)的连结档建立,而非复制档案本身;

-p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);

-r :递归持续复制,用亍目录的复制行为;(常用)

-s :复制成为符号链接文件(symbolic link),亦即『快捷方式』档案;

-u :若destination 比 source 旧才更新destination !

最后需要注意的是,如果来源档有两个以上,则最后一个目的文件一定要是『目

录』才行!

 

mv :移动档案与目录,或更名

mv [-fiu] sourcedestination

mv [options] source1source2 source3 .... directory

选项不参数:

-f :force 强制的意思,如果目标档案已经存在,不会询问而直接覆盖;

-i :若目标档案(destination) 已经存在时,就会询问是否覆盖!

-u :若目标档案已经存在,且source 比较新,才会更新 (update)

 

rm :移除档案或目录

rm [-fir] 档案或目录

选项不参数:

-f :就是 force 的意忠,忽略不存在的档案,不会出现警告讯息;

-i :互动模式,在删除前会询问使用者是否动作

-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

 

ln:实体链接不符号链接

ln [-sf] 来源文件 目标文件

选项与参数:

-s :如果不加任何参数就进行连结,那就是 hard link,至于 -s 就是symbolic

link

-f :如果 目标文件 存在时,就主动的将目标文件直接移除后再建立!

 

find:文件查找

find命令的参数;

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print
find命令将匹配的文件输出到标准输出。
-exec
find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }\;之间的空格。
-ok
-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

#-print将查找到的文件输出到标准输出
#-exec   command   {} \;      —–
将查到的文件执行command操作,{} \;之间有空格
#-ok
-exec相同,只不过在操作前要询用户

例:find . -name .svn | xargs rm -rf

 

●文件编辑(vi vimnano)

 

vi 的使用:

基本上vi 共分为三种模式,分别是『一般模式』、『编辑模式』与『指令列命令模式』。 这三种模式的作用分别是:

  一般模式:

以vi 打开一个档案就直接进入"一般模式"了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件数据。

  编辑模式:

在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

  指令列命令模式:

在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的!

 

在一般模式中按下,我们要存档了,存盘并离开的指令很简单,输入『:wq』即可存档离开! (注意了,按下 : 该光标就会移动到最底下一行去!)

如果你的档案权限不对,例如为 -r--r--r-- 时,那么可能会无法写入,此时可以使用『强制写入』得方式吗?可以!使用『 :wq! 』 多加一个惊叹号即可!不过,需要特别注意呦!那个是在『你的权限可以改变』的情况下才能成立的!

 

:w:vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。

 

:w newfile 

此时vi将把当前文件的内容保存到指定的newfile中,而原有文件保持不变。若newfile是一个已存在的文件,则Vi在显示窗口的状态行给出提示信息: File exists (use ! to override) ,此时,若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令

 

:w! newfile:否则可选择另外的文件名来保存当前文件。

:q  系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息:No write since last change (use ! to overrides) 提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令

:q!   Vi放弃所作修改而直接退到shell下。

:wq  Vi将先保存文件,然后退出Vi返回到shell。

:x   该命令的功能同命令模式下的ZZ命令功能相同。

 

vim:

vim 的三种模式只有一般模式可以与编辑、指令列模式切换,编辑模式与指令列模式之间并不能切换的!

一般模式可用的按钮说明,光标移劢、复制贴上、搜寻取代等

 

 

一般模式切换到编辑模式的可用的按钮说明:

 

一般模式切换到指令列模式的可用的按钮说明

 

特别注意,在 vi 中,『数字』是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前~那我要向下移动20 行呢?那就是『20j』或者是『20↓』即可。

 

nano:超简单文书编辑器

nanotext.txt

# 不管text.txt存不存在都没有关系!存在就开启旧档,不存在就开启新档

  [ctrl]-G:取得联机帮助(help),很有用的!

  [ctrl]-X:离开 naon 软件,若有修改过档案会提示是否需要储存喔!

  [ctrl]-O:储存档案,若你有权限的话就能够储存档案了;

  [ctrl]-R:从其他档案读入资料,可以将某个档案的内容贴在本档案中;

  [ctrl]-W:搜寻字符串,这个也是径有帮助的指令喔!

  [ctrl]-C:说明目前光标所在处的行数与列数等信息;

  [ctrl]-_:可以直接输入行号,让光标快速移动到该行;

  [alt]-Y:校正语法功能开启或关闭(单击开、再单击关)

  [alt]-M:可以支持鼠标来移动光标的功能

 


●查看文件及内容处理命令(21 个)

cat tac more less head tail cut split paste sort uniq wc iconv dos2unix file diff vimd ff chattr lsattr rev grep

 

cat:直接检规档案内容(由第一行开始显示档案内容)

cat [-AbEnTv]

选项不参数:

-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

-E :将结尾的断行字符 $ 显示出来;

-n :打印出行号,连同空白行也会有行号,不 -b 的选项不同;

-T :将 [tab] 按键以 ^I 显示出来;

-v :列出一些看不出来的特殊字符

 

tac:直接检规档案内容(从最后一行开始显示,可以看出 tac 是 cat 的倒着写!)

 

more:一页一页癿显示档案内容

 

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

less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便

 

head:取出前面几行

head [-n number] 档案

选项与参数:

-n :后面接数字,代表显示几行的意思


tail:取出后面几行

tail [-n number] 档案

选项与参数:

-n :后面接数字,代表显示几行的意思

-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c 才会结束 tail 的侦测

 

cut:撷取命令 

cut -d'分隔字符' -ffields <==用亍有特定分隔字符

cut -c 字符区间 <==用亍排列整齐的讯息

 

选项不参数:

-d :后面接分隔字符。与 -f 一起使用;

-f :依据 -d 的分隔字符将一段讯息分割成为数段,用 -f 取出第几段的意思;

-c :以字符(characters) 的单位取出固定字符区间;

 

grep:刚刚的 cut是将一行讯息当中,取出某部分我们想要的,而 grep 则是分析一行讯息, 若当中有我们所需要的信息,就将该行拿出来.

grep [-acinv] [--color=auto] '搜寻字符串' filename

选项与参数:

-a :将 binary 档案以 text 档案的方式搜寻数据

-c :计算找到'搜寻字符串' 的次数

-i :忽略大小写的不同,所以大小写规为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

--color=auto :可以将找刡癿关键词部分加上颜色癿显示喔!

 

split:分割命令

split[-bl] file PREFIX

选项与参数:

-b :后面可接欲分割成的档案大小,可加单位,例如 b, k, m等;

-l :以行数来进行分割。

PREFIX :代表前导符的意思,可作为分割档案的前导文字

 

字符转换命令: paste ,tr, col, join,  expand

 

paste: 这个 paste 就要比join 简单多了!相对亍 join 必须要比对两个档案的数据相关性, paste 就直接『将两行贴在一起,且中间以 [tab] 键隔开』而已!简单的使用方法:

paste[-d] file1 file2

选项与参数:

-d :后面可以接分隔字符。预设是以[tab] 来分隔的!

- :如果 file 部分写成 - ,表示来自 standard input 的资料的意思。

 

tr :可以用来删除一段讯息当中的文字,或者是进行文字讯息的替换!

tr [-ds] SET1 ...

选项与参数:

-d :删除讯息当中的 SET1 这个字符串;

-s :取代掉重复的字符!

 

col[-xb]

选项与参数:

-x :将 tab 键转换成对等的空格键

-b :在文字内有反斜杠 (/) 时,仅保留反斜杠最后接的那个字符

 

join:看字面上的意义 (加入/参加) 就可以知道,他是在处理两个档案之间的数据,而且,主要是在处理『两个档案当中,有 "相同数据" 的那一行,才将他加在一起』的意思。

join [-ti12] file1 file2

选项与参数:

-t :join 默讣以空格符分隔数据,并且比对『第一个字段』的数据,

如果两个档案相同,则将两笔数据联成一行,且第一个字段放在第一个!

-i :忽略大小写的差异;

-1 :这个是数字的1 ,代表『第一个档案要用那个字段来分析』的意思;

-2 :代表『第二个档案要用那个字段来分析』的意思

 

expand: 这玩意儿就是在将 [tab] 按键转成空格键啦~可以这样玩

选项不参数:

-t :后面可以接数字。一般来说,一个tab 按键可以用 8 个空格键取代。

我们也可以自行定义一个 [tab] 按键代表多少个字符呢!

 

排序: sort 

sort: sort 是很有趣的指令,他可以帮我们进行排序,而且可以依据不同的数据型态来排序喔! 例如数字与文字的排序就不一样。此外,排序的字符与语系的编码有关,因此,如果您需要排序时,建议使用LANG=C 来让语系统一,数据排序比较好一些.

sort [-fbMnrtuk] [file or stdin]

选项与参数:

-f :忽略大小写的差异,例如 A 与a 视为编码相同;

-b :忽略最前面的空格符部分;

-M :以月份的名字来排序,例如JAN, DEC 等等的排序方法;

-n :使用『纯数字』进行排序(默认是以文字型态来排序的);

r :反向排序;

-u :就是 uniq ,相同的数据中,仅出现一行代表;

-t :分隔符,预设是用 [tab] 键来分隔;

-k :以那个区间 (field) 来进行排序的意思

 

uniq:排序后去重

uniq [-ic]

选项与参数:

-i :忽略大小写字符的不同;

-c :进行计数

 

wc:查询文档行、字、字符

wc [-lwm]

选项与参数:

-l :仅列出行;

-w :仅列出多少字(英文单字);

-m :多少字符;

 

 

iconv:语系编码转换

   iconv --list

    iconv -f 原本编码 -t 新编码 filename [-o newfile]

选项与参数:

--list :列出 iconv 支持的语系数据

-f :from ,亦即来源之意,后接原本的编码格式;

-t :to ,亦即后来的新编码要是什么格式;

-o file:如果要保留原本的档案,那么使用 -o新档名,可以建立新编码档案。

 

dos2unix:将DOS格式文本文件转换成UNIX格式

dos2unix [-kn] file [newfile]

选项与参数:

-k :保留该档案原本的 mtime 时间格式 (丌更新档案上次内容经过修订癿时间)

-n :保留原本癿旧档,将转换后癿内容输出到新档案,如: dos2unix -n old

new

 

unix2dos:将UNIX格式文本文件转换成DOS格式

unix2dos [-kn] file [newfile]

选项与参数:

-k :保留该档案原本的 mtime 时间格式 (丌更新档案上次内容经过修订癿时间)

-n :保留原本癿旧档,将转换后癿内容输出到新档案,如: dos2unix -n old

new

 

 

file:该命令用来识别文件类型,也可用来辨别一些文件的编码格式

命令语法:

file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ][ -m magicfiles ] file ...

参数

长参数

描叙

-b

列出文件辨识结果时,不显示文件名称。

-c

详细显示指令执行过程,便于排错或分析程序执行的情形

-f

列出文件中文件名的文件类型

-F

使用指定分隔符号替换输出文件名后的默认的“:”分隔符。

-i

输出mime类型的字符串

-L

查看对应软链接对应文件的文件类型

-z

尝试去解读压缩文件的内容

--help

显示命令在线帮助

--version

显示命令版本信息

 

 

 

diff:就是用在比对两个档案之间的差异的,并且是以行为单位来比对的

diff [-bBi] from-file to-file

选项与参数:

from-file :一个档名,作为原始比对档案的档名;

to-file :一个档名,作为目的比对档案的档名;

注意,from-file 或 to-file 可以 - 取代,那个 - 代表『Standardinput』之意。

-b :忽略一行当中,仅有多个空白的差异(例如 "about me" 与 "about me"

规为相同

-B :忽略空行的异.

-i :忽大小写的不同.

 

chattr、lsattr:

这两个命令是用来查看和改变文件、目录属性的,与chmod这个命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。

 

chattr命令的用法:chattr [ -RVf ] [ -v version ] [mode ] files…
最关键的是在[mode]部分,[mode]部分是由+-=[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的
属性。

+ :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。
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
各参数选项中常用到的是aia选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

 

 lsattr:令用于显示文件属性

       lsattr[-adlRvV][文件或目录...]

·        -a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."

·        -d 显示,目录名称,而非其内容。

·        -l 此参数目前没有任何作用。

·        -R 递归处理,将指定目录下的所有文件及子目录一并处理。

·        -v 显示文件或目录版本。

·        -V 显示版本信息。

 

 

rev:将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出,依次类推

语法:

       rev(文件)

文件:指定要反序显示内容的文件。


●文件压缩及解压缩命令(4 个)

tar unzip gzip zip

 

tar:打包指令

tar[-j|-z] [cv] [-f 建立的档名] filename... <==打包不压缩

tar[-j|-z] [tv] [-f 建立的档名] <==察看档名

tar[-j|-z] [xv] [-f 建立的档名] [-C目录]<==解压缩

 

选顷与参数:

-c :建立打包档案,可搭配 -v 来察看过程中被打包的档名(filename)

-t :察看打包档案的内容含有哪些档名,重点在察看『档名』就是了;

-x :解打包或解压缩的功能,可以搭配-C (大写) 在特定目录解开

特别留意的是, -c, -t, -x 不可同时出现在一串指令列中。

-j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2

-z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz

-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!

-f filename:-f后面要立刻接要被处理的档名!建议 -f 单独写一个选项啰!

    例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成

 

   『 tar -zcvPf tfile sfile』才对喔!

-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选

项。

 

其他后续练习会使用到的选项介绍:

-p :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件

-P :保留绝对路径,亦即允许备份数据中含有根目录存在之意;

--exclude=FILE:在压缩的过程中,不要将 FILE 打包!

 

其实最简单的使用 tar 就只要记忆底下的方式即可:

  压 缩:tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称

  查 询:tar -jtv -f filename.tar.bz2

  解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

 

 

unzip:解压缩zip文件

语法:

unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]

 

参数

·        -c将解压缩的结果显示到屏幕上,并对字符做适当的转换。

·        -f更新现有的文件。

·        -l显示压缩文件内所包含的文件。

·        -p-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。

·        -t检查压缩文件是否正确。

·        -u-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。

·        -v执行是时显示详细的信息。

·        -z仅显示压缩文件的备注文字。

·        -a对文本文件进行必要的字符转换。

·        -b不要对文本文件进行字符转换。

·        -C压缩文件中的文件名称区分大小写。

·        -j不处理压缩文件中原有的目录路径。

·        -L将压缩文件中的全部文件名改为小写。

·        -M将输出结果送到more程序处理。

·        -n解压缩时不要覆盖原有的文件。

·        -o不必先询问用户,unzip执行后覆盖原有文件。

·        -P<密码>使用zip的密码选项。

·        -q执行时不显示任何信息。

·        -s将文件名中的空白字符转换为底线字符。

·        -V保留VMS的文件版本信息。

·        -X解压缩时同时回存文件原来的UID/GID

·        [.zip文件]指定.zip压缩文件。

·        [文件]指定要处理.zip压缩文件中的哪些文件。

·        -d<目录>指定文件解压缩后所要存储的目录。

·        -x<文件>指定不要处理.zip压缩文件中的哪些文件。

·        -Z unzip -Z等于执行zipinfo指令。

 

 

unzip简单用法:

         1unzipfilename  解压到当前目录

       2unzip–o filename  覆盖已经存在的文件

       3unzipfilename –d 目标目录  解压到指定目录

 

 

gzip:命令用来压缩文件
    语法:gzip [-cdtv#] 档名
选项与参数:

-c :将压缩的数据输出到屏幕上,可透过数据流重导向来处理;

-d :解压缩的参数;

-t :可以用来检验一个压缩文件的一致性~看看档案有无错误;

-v :可以显示出原档案/压缩文件案的压缩比等信息;

-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是-6

 

bzip2:解压缩

    bzip2 [-cdkzv#] 档名

选顷不参数:

-c :将压缩的过程产生的数据输出到屏幕上!

-d :解压缩的参数

-k :保留源文件,而不会删除原始的档案喔!

-z :压缩的参数

-v :可以显示出原档案/压缩文件案的压缩比等信息;

-# :与gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

 

 

zip:解压缩文件或打包

语法:

    zip(选项)(参数)

 

-A:调整可执行的自动解压缩文件;

-b<工作目录>:指定暂时存放文件的目录;

-c:替每个被压缩的文件加上注释;

-d:从压缩文件内删除指定的文件;

 -D:压缩文件内不建立目录名称;

-f:此参数的效果和指定“-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中;

-F:尝试修复已损坏的压缩文件;

-g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件;

-h:在线帮助;

-i<范本样式>:只压缩符合条件的文件;

-j:只保存文件名称及其内容,而不存放任何目录名称;

-J:删除压缩文件前面不必要的数据;

-k:使用MS-DOS兼容格式的文件名称;

-l:压缩文件时,把LF字符置换成LF+CR字符;

-ll:压缩文件时,把LF+cp字符置换成LF字符;

-L:显示版权信息;

-m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中;

-n<字尾字符串>:不压缩具有特定字尾字符串的文件;

-o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同;

-q:不显示指令执行过程;

-r:递归处理,将指定目录下的所有文件和子目录一并处理;

-S:包含系统和隐藏文件;

-t<日期时间>:把压缩文件的日期设成指定的日期;

-T:检查备份文件内的每个文件是否正确无误;

-u:更换较新的文件到压缩文件内;

-v:显示指令执行过程或显示版本信息;

-V:保存VMS操作系统的文件属性;

-w:在文件名称里假如版本编号,本参数仅在VMS操作系统下有效;

-x<范本样式>:压缩时排除符合条件的文件;

-X:不保存额外的文件属性;

-y:直接保存符号连接,而非该链接所指向的文件,本参数仅在UNIX之类的系统下有效;

-z:替压缩文件加上注释;

-$:保存第一个被压缩文件所在磁盘的卷册名称;

-<压缩效率>:压缩效率是一个介于1~9的数值。



●信息显示命令(11 个)

uname hostname dmesg uptime  stat du df top free date cal

 

uname:查阅系统与核心相关信息

    语法:uname [-asrmpi]

选项与参数:

-a :所有系统相关的信息,包括底下的数据都会被列出来;

-s :系统核心名称

-r :核心的版本

-m :本系统的硬件名称,例如i686 或 x86_64 等;

-p :CPU 的类型,与 -m 类似,叧是显示的是 CPU 的类型!

-i :硬件的平台 (ix86)

 

hostname:查看主机名与修改主机名

语法:hostname(选项)(参数)

       hostname 主机名
参数:

       -v:详细信息模式;

       -a:显示主机别名;

       -d:显示DNS域名;

       -f:显示FQDN名称;

       -i:显示主机的ip地址;

       -s:显示短主机名称,在第一个点处截断;

       -y:显示NIS域名。

       主机名:指定要设置的主机名。

 

dmesg:分析核心产生的讯息

参数:
-c :显示信息后,清除ring buffer中的内容。 
-s<缓冲区大小 预设置为8196,刚好等于ring buffer的大小。 
-n :设置记录信息的层级

 

uptime:观察系统启动时间与工作负载


stat:文件/文件系统的详细信息显示

语法: stat(选项)(参数)
选项:

       -L:支持符号连接;

       -f:显示文件系统状态而非文件状态;

       -t:以简洁方式输出信息;

       --help:显示指令的帮助信息;

       --version:显示指令的版本信息。

参数:

       文件:指定要显示信息的普通文件或者文件系统对应的设备文件名。

du:评估文件系统的磁盘使用量(常用在推估目录所占容量)

语法:

       du [-ahskm] 档案或目录名称

选项与参数:

-a :列出所有的档案不目录容量,因为默认仅统计目录底下的档案量而已。

-h :以人们较易读的容量格式 (G/M)显示;

-s :列出总量而已,而不列出每个各别的目录占用容量;

-S :不包括子目录下的总计,不 -s有点差别。

-k :以 KBytes列出容量显示;

-m :以 MBytes列出容量显示;

 

 

df:列出文件系统的整体磁盘使用量;

语法:

    df [-ahikHTm] [目录或文件名]

选项与参数:

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;

-k :以 KBytes 的容量显示各文件系统;

-m :以 MBytes 的容量显示各文件系统;

-h :以人们较易阅读癿GBytes, MBytes, KBytes 等格式自行显示;

-H :以 M=1000K 取代 M=1024K 的进位方式;

-T :连同该 partition 的 filesystem 名称 (例如ext3) 也列出;

-i :不用硬盘容量,而以 inode的数量来显示

 

 

top:动态观察程序的变化

语法:

    top [-d 数字] | top [-bnp]

选项与参数:

-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是 5 秒;

-b :以批次的方式执行 top ,还有更多的参数可以使用喔!

    通常会搭配数据流重导向来将批次的结果输出成为档案。

-n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。

-p :指定某些个 PID 来进行观察监测而已。

在 top 执行过程当中可以使用的按键指令:

    ? :显示在 top 当中可以输入的按键指令;

    P :以 CPU 的使用资源排序显示;

    M :以 Memory 的使用资源排序显示;

    N :以 PID 来排序喔!

    T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。

    k :给予某个 PID 一个讯号 (signal)

    r :给予某个 PID 重新制订一个 nice 值。

    q :离开 top 软件的按键。

 

free:观察内存使用情况

语法:

    free[-b|-k|-m|-g] [-t]

选项与参数:

-b :直接输入 free 时,显示的单位是 Kbytes,我们可以使用 b(bytes),

m(Mbytes),k(Kbytes), 及g(Gbytes) 来显示单位喔!

-t :在输出的最终结果,显示物理内存与 swap 的总量

 

 

date:显示日期与时间的指令

 

 

cal:显示日历的指令

语法:

   cal [month] [year]

 


●搜索文件命令(4 个)

which find whereis locate

 

which:寻找『执行档』

语法:

   which [-a] command

选项与参数:

    -a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称

 

find:档案档名搜索

语法:

    find [PATH] [option] [action]

选项与参数:

1. 与时间有关的选项:共有 -atime,-ctime 与 -mtime ,以 -mtime 说明

-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的档

案;

-mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的档案档名;

-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的档案档名。

-newer file :file为一个存在的档案,列出比 file 还要新的档案档名

 

2. 与使用者或组名有关的参数:

-uid  n :n 为数字,这个数字是用户的账号 ID,亦即 UID ,这个 UID 是记录在/etc/passwd里面与账号名称对应对的数字。

-gid  n :n 为数字,这个数字是组名的 ID,亦即 GID,这个 GID 记录在

/etc/group.

-user name :name为使用者账号名称喔!例如 dmtsai

-group name:name为组名喔,例如 users ;

-nouser :寻找档案的拥有者不存在/etc/passwd 的人!

-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!

当你自行安装软件时,很可能该软件的属性当中并没有档案拥有者,

这是可能的!在这个时候,就可以使用 -nouser 与-nogroup 搜寻。

 

3. 与档案权限及名称有关的参数:

    -name filename:搜寻文件名为 filename 的档案;

    -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 的规格有:c:代表 byte, k: 代表 1024bytes。所以,要找比 50KB还要大癿档案,就是『 -size +50k 』

    -type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案(f),

装置档案 (b, c), 目录(d), 连结档 (l), socket (s),及 FIFO (p) 等属性。

    -perm mode :搜寻档案权限『刚好等于』 mode 的档案,这个 mode 为类似 chmod的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !

    -perm -mode :搜寻档案权限『必须要全部囊括 mode 的权限』的案,举

例来说,我们要搜寻 -rwxr--r-- ,亦即0744 的案,使用 -perm -0744,

当个档案的限为 -rwsr-xr-x ,亦即4755 时,也会被列出来因为 -rwsr-xr-x 癿属性已经囊括了 -rwxr--r-- 的性了。

    -perm +mode :搜寻档案权限『包含一 mode 的权限』的档案,举例来说,我们搜寻-rwxr-xr-x ,亦即 -perm +755 时,但一个文件属性为 -rw-------

也会被列出来,因为他有 -rw.... 的属性存在!

 

4. 额外可进行的动作:

   -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果.

    -print :将结果打印到屏幕上,这个动作是预设的动作!

 

 

whereis:寻找特定档案

语法:

   whereis [-bmsu] 档案或目录名

选项与参数:

-b :只找 binary 格式的档案

-m :只找在说明文件manual 路径下的档案

-s :只找 source 来源档案

-u :搜寻不在上述三个项目当中的其他特殊档案

 

 

locate: 档案档名搜索

语法:

   locate [-ir] keyword

选项与参数:

-i :忽略大小写的差异;

-r :后面可接正则表示法的显示方式



●用户管理命令(10 个)

useradd usermod userdel groupadd passwd chage id su visudo 

sudo

 

useradd:新增用户

语法:

   seradd [-u UID] [-g 初始群组] [-G次要群组] [-mM]\

> [-c说明栏] [-d家目录绝对路径] [-s shell] 使用者账号名

 

选项与参数:

-u :后面接的是 UID ,是一组数字。直接指定一个特定的 UID 给这个账号;

-g :后面接的那个组名就是我们上面提到的 initial group 啦~

该群组的 GID 会被放置到 /etc/passwd 的第四个字段内。

-G :后面接的组名则是这个账号还可以加入的群组。

这个选项与参数会修改 /etc/group 内的相关资料喔!

-M :强制!不要建立用户家目录!(系统账号默认值)

-m :强制!要建立用户家目录(一般账号默认值)

-c :这个就是/etc/passwd 的第五栏的说明内容啦~可以随便我们训定的啦~

-d :指定某个目录成为家目录,而不要使用默认值。务必使用绝对路径!

-r :建立一个系统的账号,这个账号的UID 会有限制 (参考 /etc/login.defs)

-s :后面接一个 shell ,若没有指定则预设是 /bin/bash 的啦~

-e :后面接一个日期,格式为『YYYY-MM-DD』此项目可写入 shadow 第八

字段,亦即账号失效日的训定项目啰;

-f :后面接 shadow 的第七字段项目,指定密码是否会失效。0 为立刻失效,-1 为永远不失效(密码只会过期而强制亍登入时重新训定而已。)

 

usermod:用户信息修改

语法:

    usermod[-cdegGlsuLU] username

选项与参数:

-c :后面接账号的说明,即/etc/passwd 第五栏的说明栏,可以加入一些账号

的说明。

-d :后面接账号的家目录,即修改/etc/passwd 的第六栏;

-e :后面接日期,格式是YYYY-MM-DD 也就是在 /etc/shadow 内的第八个

字段数据啦!

-f :后面接天数,为 shadow 的第七字段。

-g :后面接初始群组,修改/etc/passwd 的第四个字段,亦即是 GID 的字段!

-G :后面接次要群组,修改这个使用者能够支持的群组,修改的是 /etc/group

啰~

-a :与 -G 合用,可『增加次要群组的支持』而非『设定』喔!

-l :后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏!

-s :后面接 Shell 的实际档案,例如 /bin/bash 或 /bin/csh 等等。

-u :后面接 UID 数字啦!即 /etc/passwd 第三栏的资料;

-L :暂时将用户的密码冻结,让他无法登入。其实仅改 /etc/shadow 的密码

栏。

-U :将 /etc/shadow 密码栏的 ! 拿掉,解冻啦!

 

userdel:删除用户及数据

语法:

   userdel [-r] username

选项与参数:

-r :连同用户的家目录也一起删除

 

 

 

groupadd:新增组

语法:

    groupadd [-ggid] [-r] 组名

 

选项与参数:

-g :后面接某个特定的 GID ,用来直接给予某个 GID ~

-r :建立系统群组啦!与/etc/login.defs 内的 GID_MIN 有关

 

groupmod:删除组

语法:

    groupmod [-ggid] [-n group_name] 群组名

选项与参数:

-g :修改既有的 GID 数字;

-n :修改既有的组名

 

passwd:设定用户密码

语法:

    passwd [--sdtin]<==所有人均可使用来改自己的密码

    passwd [-l] [-u][--sdtin] [-S] \

> [-n 日数] [-x 日数] [-w 日数] [-i 日期] 账号 <==root 功能

选项与数:

--stdin :可以透过来自前一个管线的数据,作为密码输入,对 shell script 有帮助!

-l :是 Lock 的意思,会将 /etc/shadow 第二栏最前面加上 ! 使密码失效;

-u :与 -l 相对,是 Unlock 的意思!

-S :列出密码相关参数,亦即shadow 档案内的大部分信息。

-n :后面接天数,shadow 的第 4 字段,多久不可修改密码天数

-x :后面接天数,shadow 癿第 5 字段,多久内必须要更改密码

-w :后面接天数,shadow 的第 6 字段,密码过期前的警告天数

-i :后面接『日期』,shadow 的第 7 字段,密码失效日期

 

 

chage:显示密码参数

语法:

   chage [-ldEImMW] 账号名

选项与参数:

-l :列出该账号的详细密码参数;

-d :后面接日期,修改 shadow第三字段(最近一次更改密码的日期),格式

YYYY-MM-DD

-E :后面接日期,修改 shadow第八字段(账号失效日),格式 YYYY-MM-DD

-I :后面接天数,修改 shadow第七字段(密码失效日期)

-m :后面接天数,修改 shadow第四字段(密码最短保留天数)

-M :后面接天数,修改 shadow第五字段(密码多久需要进行变更)

-W :后面接天数,修改 shadow第六字段(密码过期前警告日期)

 

id:查询用户id及组id

语法:

    id [username]

 

su:身份切换指令(需了解新用户密码)

语法:

    su [-lm] [-c 指令] [username]

选项与参数:

- :单纯使用 - 如『 su - 』代表使用 login-shell 的变量档案读取方式来登入系统;若使用者名称没有加上去,则代表切换为 root 的身份。

-l :与 - 类似,但后面需要加欲切换的使用者账号!也是 login-shell 的方式。

-m :-m 与 -p 是一样的,表示『使用目前的环境设定,而不读取新使用者的配

置文件』

-c :仅进行一次指令,所以 -c 后面可以加上指令喔!

 

sudo: 身份切换指令(需了解自己密码) 

语法:

   sudo [-b] [-u 新使用者账号]

 

选项与参数:

-b :将后续的指令放到背景中让系统自行执行,而不与目前的 shell 产生影响

-u :后面可以接欲切换的使用者,若无此项则代表切换身份为 root 。

 

visudo:打开sudo配置文件(需要root权限)

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 u盘格式化成什么格式好 硬盘格式化恢复数据 电脑格式化会怎么样 电脑怎么格式化所有盘 windows无法格式化u盘 windows无法格式化u盘怎么办 u盘提示格式化怎么修复 手机格式化对手机有影响吗 手机格式化了还能恢复吗 手机被格式化了怎样恢复数据 格式化后如何恢复数据 手机格式化后如何恢复照片 手机格式化了怎么恢复 手机格式化了怎么恢复照片 u盘提示格式化怎么办 硬盘格式化数据恢复 手机格式化后会怎样 磁盘格式化了怎么恢复 电脑硬盘格式化后还能恢复吗 如何格式化移动硬盘 优盘格式化怎么恢复 光盘格式化了怎么恢复 安卓怎么格式化手机 磁盘格式化数据恢复 系统格式化数据恢复 硬盘格式化了怎么恢复 如何格式化手机sd卡 d盘格式化后怎么恢复 硬盘被格式化如何恢复 e盘格式化了怎么恢复 硬盘低级格式化工具 无法格式化u盘怎么办 格式化如何恢复数据 电脑格式化数据恢复 固态硬盘格式化不了 内存卡格式化怎么恢复 手机格式化了怎么恢复数据 u盘一打开就叫格式化如何修复 u盘写保护无法格式化 移动硬盘提示格式化 移动硬盘无法格式化