Linux 日常命令

NO 分类 PS1 命令名 用法及参数 功能注解      
1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件      
文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息      
文件管理 # pwd pwd 查看当前所在目录的绝对路经      
文件管理 # cd cd .. 回当前目录的上一级目录      
文件管理 # cd cd – 回上一次所在的目录      
文件管理 # cd cd ~ 或 cd 回当前用户的宿主目录      
文件管理 # cd cd ~用户名 回指定用户的宿主目录      
2 文件管理 # mkdir mkdir 目录名 创建一个目录      
文件管理 # mkdir mkdir –p 递归式去创建一些嵌套目录      
文件管理 # rmdir Rmdir 空目录名 删除一个空目录      
3 文件管理 # rm rm 文件名 文件名 删除一个文件或多个文件      
文件管理 # rm rm -rf 非空目录名 递归删除一个非空目录下的一切,不让提式-f      
4 文件管理 # cat cat文件名 一屏查看文件内容      
5 文件管理 # more more文件名 分页查看文件内容      
6 文件管理 # less less 文件名 可控分页查看文件内容      
7 文件管理 # grep grep字符 文件名 根据字符匹配来查看文件部分内容      
8 文件管理 # mv mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下      
文件管理 # mv mv 文件名 新名称 在当前目录下改名      
9 文件管理 # cp cp /路经/文件 ./ 移动绝对路经下的文件到当前目录下      
10 文件管理 # find find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录      
11 文件管理 # ln ln 源文件 链接名 创建当前目录源文件的硬链接      
ln /home/test /usr/test1 在/usr下建立/home/test的硬链接      
12 文件管理 # ln Ln -s a b 创建当前目录下a的符号链接b   
13 文件管理 # touch touch file1 file2 创建两个空文件      
14 磁盘管理 # df df 用于报告文件系统的总容量,使用量,剩余容量。      
15 磁盘管理 # du du -b /home 查看目前/HOME目录的容量(k)及子目录的容量(k)。      
16 磁盘管理 # fdisk fdisk -l 查看系统分区信息   
17 磁盘管理 # fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区   
18 磁盘管理 # mkfs.ext3 Mkfs.ext3 /dev/sdb1
为第一块SCSI硬盘的第一主分区格式化成
ext3的文件系统   
      mkfs.ext2 Mkfs.ext2/dev/sdb2 格式化成ext2文件系统   
19 磁盘管理 # mount mount -t 文件系统类型 设备路经 访问路经      
磁盘管理 #    文件系统类型         
         Iso9660 光驱文件系统      
         vfat Fat文件系统(windows)      
挂载光驱 # mount –t iso9660 /dev/cdrom /mnt/cdrom      
挂载FAT # mount –t vfat /dev/hda5 /mnt/cdrom 挂第一个ide的第五个逻辑分区   
17 磁盘管理 # Umount /mnt/cdrom 卸载/mnt/cdrom为空   
18 文件权限 # chmod chmod u+s file 为file的属主加上特殊权限      
         chmod g+r file 为file的属组加上读权限      
         chmod o+w file 为file的其它用户加上写权限      
         chmod a-x file 为file的所有用户减去执行权限   
chmod 765 file 为file的属主设为完全权限,属组设成读写权,其它用户具有读和执心权限   
19 文件权限 # chown chown root /home 把/home的属主改成root用户   
20 文件权限 # chgrp chgrp root /home 把/home的属组改成root组   
21 打印管理 # redhat-config-printer-tui 进入安装打印机界面      
22 打印管理 # lp lp –d hptr file 打印file到hptr的打印机上      
23 打印管理 # lpq Lpq –P 打印机名 查看打印机的状态      
24 打印管理 # lprm Lprm –P 打印机名 a 删除打印机内的打印作业      
25 打印管理 # disable Disable –r “changing paper” HPtr 禁用打印机并提示原因   
26 打印管理 # enable Enable HPtr 重新启用被禁用的      
27 用户管理 # useradd Useradd 创建一个新的用户      
28 用户管理 # groupadd Groupadd 组名 创建一个新的组      
29 用户管理 # passwd Passwd 用户名 为用户创建密码      
30 用户管理 # Passwd -d Passwd -d用户名 删除用户密码也能登陆      
31 用户管理 # Passwd -l Passwd -l用户名 锁定账号密码      
32 用户管理 # Passwd -u Passwd -u用户名 解锁账号密码      
33 用户管理 # Passwd -S Passwd -S用户名 查询账号密码      
34 用户管理 # Usermod -l Usermod -l 新用户名 老用户名 为用户改名      
35 用户管理 # Usermod -L Usermod -L 要锁定用户名 锁定用户登陆      
36 用户管理 # Usermod -U Usermod –U解锁用户名 解锁用户登陆      
37 用户管理 # Usermod -u Usermod –u 501用户名 改变用户UID      
38 用户管理 # Userdel Userdel–r 用户名 删除用户一切      
39 用户管理 # Groupmod -n Groupmod –n新用户名 老用户名 为组改名      
40 用户管理 # Groupmod -g Groupmod –g 501 组名 改变组GID      
41 用户管理 # groupdel Groupdel组名 先应删它的用户 删除组      
42 用户管理 # gpasswd -a gpasswd -a 用户名 组名 增加用户到组      
43 用户管理 # Id id 用户名 查用户信息      
44 软件管理 # rpm -qa rpm –qa | less 查询已安装RPM      
45 软件管理 #    rpm –qa | grep ftp 查询指定RPM      
46 软件管理 # rpm -q rpm -q 已安装的RPM包 查是否安装      
47 软件管理 #    rpm -q telnet-server 查看telnet服务器包   
48 软件管理 # rpm -qi rpm –qi 软件包名称 查看软件的描述信息   
49 软件管理 # rpm -ql rpm –ql软件包名称 查询软件包的文件列表   
50 软件管理 # rpm -qf rpm –qf软件包名称 查询某个文件所属的软件包   
51 软件管理 # rpm -qp rpm –qp软件包全名 查询未安装的软件包信息   
52 软件管理 # rpm -e rpm –e 软件包名称 删除具体的软件包   
53 软件管理 # rpm -U rpm –Uvh软件包全名 升级软件包并显示过程   
54 软件管理 # rpm -ivh rpm –ivh 软件包全名 安装软件包并显示过程   
55 软件管理 # rpm -V rpm –V软件包名称 验证软件包的大小,类型等   
56 软件管理 # tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包   
57 软件管理 # tar -cf tar –cvf benet.tar /home/benet 把/home/benet目录打包   
58 软件管理 # tar -czf tar –zcvf benet.tar.gz /mnt 把目录打包并压缩   
59 软件管理 # tar –tf tar –tf benet.tar 看非压缩包的文件列表   
60 软件管理 # tar –tzf tar –tf benet.tar.gz 看压缩包的文件列表   
61 软件管理 # tar –xf tar –xf benet.tar 非压缩包的文件恢复   
62 软件管理 # tar –zxvf tar –zxvf benet.tar.gz 压缩包的文件解压恢复   
63 软件管理 # tar -jxvf tar –jxvf benet.tar.bz2      
64 软件管理 # diff diff file1 file2 > 补丁名.patch 为新旧文件生成补丁文件   
65 软件管理 # diff diff file1 file2 比较两个文件的区别   
66 软件管理 # Patch Patch file补丁名.patch 打补丁   
67 软件管理 # ./configure –prefix=/usr/local/ 编译前配置   
68 软件管理 # make 编译   
69 软件管理 # make install 安装编译好的源码包   
70 启动管理 # reboot Init 6 重启LINUX系统   
71 启动管理 # Halt Init 0 Shutdown –h now 关闭LINUX系统   
72 启动管理 # runlevel    显示系统运行级   
73 启动管理 # Init [0123456]    改变系统运行级,7种   
74 启动管理 # Chkconfig –-list [服务名称] 查看服务的状态   
75 启动管理 # Chkconfig –-level <运行级> <服务名> on|off|set 设置服务的启动状态   
76 启动管理 # Chkconfig <服务名> on|off|set 设置非独立服务启状态   
77 进程管理 # Top动态 Ps-aux静态 进程树pstree 查看系统进程   
78 进程管理 # 程序名 & 后台运行程序      
79 进程管理 # fg 把后台运行的进程调回前台      
80 进程管理 # bg 把前台运行进程调到后台      
81 进程管理 # renice Renice +1 180 把180号进程的优先级加1   
82 进程管理 # kill Kill PID 终止某个PID进程   
83 进程管理 # at at 5pm + 3 days
/bin/ls 指定三天后下午5:00执行/bin/ls   
84 进程管理 # crontab Crontab -e 用VI的形式来编辑自动周期性任务   
85 进程管理 # crontab Crontab -l 查看自动周期性任务   
86 进程管理 # crontab Crontab -r 删除自动周期性任务   
87 进程管理 # crond Service crond <start|stop|restart|status>   
马上启动自动周期性服务 Service crond <启动|停止|重启|状态>   
        
实现磁盘配额 (注安装LINUX时建立/home分区)
目标:对用户zhao在/home目录上实现soft limit为5k,hard limit 为10k的磁盘配额
实现步骤:
1. 修改包含/home的行, #vi /etc/fstab, 改为:defaults,usrquota。也就是增加usrquota项。然后保存退出。
2、卸载/home目录 #umount /home
3. 挂接/home目录 #mount /home
4、增加用户zhao #useradd zhao
5、修改密码 #passwd zhao
6、生成关于/home目录的quota信息 # quotacheck -cmug /home
#quotacheck -vu /home
7、查看所有用户的信息 #repquota -au
8、设置配额 #edquota -u zhao
将soft 和hard 分别改为5和10
9、保存并退出 #wq!
10、修改时间 #edquota -t
11、 #wq!
12.开启/home上的磁盘配额功能 #quotaon /home
13.查询配额 #quota -u zhao
14.验证配额 #su – zhao
$touch myfile

cat cd
chmod chown
cp cut

名称:cat
使用权限:所有使用者
使用方式:cat [-AbeEnstTuv] [–help] [–version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting

范例:
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3

名称 : cd
使用权限 : 所有使用者

使用方式 : cd [dirName]

说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。

另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

范例 : 跳到 /usr/bin/ :
cd /usr/bin

跳到自己的 home directory :
cd ~

跳到目前目录的上上两层 :
cd ../..

指令名称 : chmod
使用权限 : 所有使用者

使用方式 : chmod [-cfvR] [–help] [–version] mode file…

说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。

把计 :

mode : 权限设定字串,格式如下 : [ugoa…][[+-=][rwxX]…][,…],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本

范例 :将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt

将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt

将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py

将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *

此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。

范例:
chmod a=rwx file


chmod 777 file

效果相同
chmod ug=rwx,o=x file


chmod 771 file

效果相同

若用chmod 4755 filename可使此程式具有root的权限

指令名称 : chown
使用权限 : root

使用方式 : chmod [-cfhvR] [–help] [–version] user[:group] file…

说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

把计 :

user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)–help : 显示辅助说明–version : 显示版本

范例 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
chown jessie:users file1.txt

将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
chmod -R lamport:users *

名称:cp
使用权限:所有使用者

使用方式:

cp [options] source dest
cp [options] source… directory

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

把计

-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb

将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished

名称:cut

使用权限:所有使用者

用法:cut -cnum1-num2 filename

说明:显示每行从开头算起 num1 到 num2 的文字。

范例:

shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 开头算起前 6 个字元
test2
this i

名称 : find
用法 : find
使用说明 :

将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。

find 根据下列规则判断 path 和 expression,在命令列上第一个 – ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比档案 file 更晚被读取过的档案
-atime n : 在过去 n 天过读取过的档案
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比档案 file 更新的档案
-ctime n : 在过去 n 天过修改过的档案
-empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
-name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
-size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。
d: 目录
c: 字型装置档案
b: 区块装置档案
p: 具名贮列
f: 一般档案
l: 符号连结
s: socket
-pid n : process id 是 n 的档案

你可以使用 ( ) 将运算式分隔,并使用下列运算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范例:
将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
# find . -name "*.c"

将目前目录其其下子目录中所有一般档案列出
# find . -ftype f

将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出
# find . -ctime -20

名称:less

使用权限:所有使用者

使用方式:

less [Option] filename

说明:
less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用者往回卷动
以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。

范例:

指令名称 : ln
使用权限 : 所有使用者

使用方式 : ln [options] source dist,其中 option 的格式为 :

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[–help] [–version] [–]
说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。
ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

-f : 链结时先将与 dist 同档名的档案删除-d : 允许系统管理者硬链结自己的目录-i : 在删除与 dist 同档名的档案时先进行询问-n : 在进行软连结时,将 dist 视为一般的档案-s : 进行软链结(symbolic link)-v : 在连结之前显示其档名-b : 将在链结时会被覆写或删除的档案进行备份-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾-V METHOD : 指定备份的方式–help : 显示辅助说明–version : 显示版本
范例 :
将档案 yy 产生一个 symbolic link : zz
ln -s yy zz

将档案 yy 产生一个 hard link : zz
ln yy xx

名称:locate
使用权限:所有使用者
使用方式: locate [-q] [-d ] [–database=]
locate [-r ] [–regexp=]
locate [-qv] [-o ] [–output=]
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [–version] [–help]
说明:
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。

在一般的 distribution 之中,资料库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用

# locate your_file_name

的型式就可以了。 参数:
-u
-U

建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置。

-e


排除在寻找的范围之外。

-l
如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。

-f
将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在资料库中。

-q
安静模式,不会显示任何错误讯息。

-n
至多显示 个输出。

-r
使用正规运算式 做寻找的条件。

-o
指定资料库存的名称。

-d

指定资料库的路径

-h
显示辅助讯息

-v
显示更多的讯息

-V
显示程式的版本讯息 范例:

locate chdrv : 寻找所有叫 chdrv 的档案
locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个
locate -u : 建立资料库

名称 : ls
使用权限 : 所有使用者

使用方式 : ls [-alrtAFR] [name…]

说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。

-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r 将档案以相反次序显示(原定依英文字母次序)
-t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有档案,则以下之档案亦皆依序列出

范例:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
ls -ltr s*

将 /bin 目录以下所有目录及档案详细资料列出 :
ls -lR /bin

列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
ls -AF

名称:more
使用权限:所有使用者
使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
参数:-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, q to quit.] ,如果使用者按错键,则会显示 [Press h for instructions.] 而不是 哔 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的档案,可为复数个数
范例:
more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。
more +20 testfile 从第 20 行开始显示 testfile 之档案内容。

名称:mv
使用权限:所有使用者

使用方式:

mv [options] source dest
mv [options] source… directory
说明:将一个档案移至另一档案,或将数个档案移至另一目录。
参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。

范例:

将档案 aaa 更名为 bbb :
mv aaa bbb

将所有的C语言程式移至 Finished 子目录中 :
mv -i *.c

名称:rm
使用权限:所有使用者

使用方式:rm [options] name…

说明:删除档案及目录。

把计

-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程式档;删除前逐一询问确认 :
rm -i *.c

将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished

名称:rmdir
使用权限:于目前目录有适当权限的所有使用者

使用方式: rmdir [-p] dirName

说明: 删除空的目录。

参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

范例:

将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test

名称:split
使用权限:所有使用者

使用方式:split [OPTION] [INPUT [PREFIX]]

说明:

将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab…;PREFIX 预设值为 `x。若没有 INPUT 档或为 `-,则从标准输入读进资料。

匡兜

-b, –bytes=SIZE

SIZE 值为每一输出档案的大小,单位为 byte。
-C, –line-bytes=SIZE

每一输出档中,单行的最大 byte 数。
-l, –lines=NUMBER

NUMBER 值为每一输出档的列数大小。
-NUMBER

与 -l NUMBER 相同。
–verbose

于每个输出档被开启前,列印出侦错资讯到标准错误输出。
–help

显示辅助资讯然后离开。
–version

列出版本资讯然后离开。
SIZE 可加入单位: b 代表 512, k 代表 1K, m 代表 1 Meg。

范例:

PostgresSQL 大型资料库备份与回存:

因 Postgres 允许表格大过你系统档案的最大容量,所以要将表格 dump 到单一的档案可能会有问题,使用 split进行档案分割。

% pg_dump dbname | split -b 1m – filename.dump.

重新载入

% createdb dbname
% cat filename.dump.* | pgsql dbname

名称:touch
使用权限:所有使用者

使用方式:
touch [-acfm]
[-r reference-file] [–file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [–date=time] [–time={atime,access,use,mtime,modify}]
[–no-create] [–help] [–version]
file1 [file2 …]

说明:
touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。

参数:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 –no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 –file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
–no-create 不会建立新档案。
–help 列出指令格式。
–version 列出版本讯息。

范例:

最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。

touch file
touch file1 file2

将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。

touch -c -t 05061803 file
touch -c -t 050618032000 file

将 file 的时间记录改变成与 referencefile 一样。

touch -r referencefile file

将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。

touch -d "6:03pm" file
touch -d "05/06/2000" file
touch -d "6:03pm 05/06/2000" file

Read: 679

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注