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
。
各参数选项中常用到的是
a
和
i
。
a
选项强制只可添加不可删除,多用于日志系统的安全设定。而
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简单用法:
1、unzipfilename 解压到当前目录
2、unzip–o filename 覆盖已经存在的文件
3、unzipfilename –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权限)
- linux命令-- ps命令
- 【linux命令】cd命令
- linux命令:crontab命令
- Linux 命令 --- df命令
- linux命令-touch命令
- 【linux命令】tr命令
- LINUX命令:more命令
- cmd命令,linux命令
- Linux命令-tar命令
- linux命令:wc命令
- linux命令:more命令
- linux命令:gzip命令
- linux命令:du 命令
- linux命令:wc命令
- Linux命令: PS命令
- Linux命令:wc命令
- Linux命令:lsof命令
- Linux命令:rm 命令
- ARM处理器工作模式
- 【javaEE】mybatis下编译出错
- Bootstrap源码解读(第十一弹:模态弹出框)
- Windows TrayIcon (Shell_NotifyIcon)
- magento的prototype表单验证
- linux命令
- 方法区和运行时常量池溢出
- smarty学习4
- 关于开漏极(open drain)输出与推挽(push/pull)输出
- JS来回切换路径
- 数据库事务隔离级别
- RESTful API 设计指南
- Zabbix分布式监控(zabbix-proxy)的配置关键点
- Java进阶 ---- 内存管理与垃圾回收