Linux命令-文件管理
Linux slocate命令
Linux slocate命令查找文件或目录。
slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。
语法
slocate [-u][--help][--version][-d <目录>][查找的文件]
实例
使用指令"slocate"显示文件名中含有关键字"fdisk"的文件路径信息,输入如下命令:
$ slocate fdisk #显示文件名中含有fdisk关键字的文件的路径信息
--------------------------------------------------------------------------------
Linux split命令
Linux split命令用于将一个文件分割成数个。
该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。
语法
split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
实例
使用指令"split"将文件"README"每6行切割成一个文件,输入如下命令:
$ split -6 README #将README文件每六行分割成一个文件
以上命令执行后,指令"split"会将原来的大文件"README"切割成多个以"x"开头的小文件。而在这些小文件中,每个文件都只有6行内容。
使用指令"ls"查看当前目录结构,如下所示:
$ ls #执行ls指令
#获得当前目录结构
README xaa xad xag xab xae xah xac xaf xai
--------------------------------------------------------------------------------
Linux tee命令
Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
语法
tee [-ai][--help][--version][文件...]
实例
使用指令"tee"将用户输入的数据同时保存到文件"file1"和"file2"中,输入如下命令:
$ tee file1 file2 #在两个文件中复制内容
以上命令执行后,将提示用户输入需要保存到文件的数据,如下所示:
My Linux #提示用户输入数据
My Linux #输出数据,进行输出反馈
此时,可以分别打开文件"file1"和"file2",查看其内容是否均是"My Linux"即可判断指令"tee"是否执行成功。
--------------------------------------------------------------------------------
Linux tmpwatch命令
Linux tmpwatch命令用于删除暂存文件。
执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算。
语法
tmpwatch [-afqv][--test][超期时间][目录...]
实例
使用指令"tmpwatch"删除目录"/tmp"中超过一天未使用的文件,输入如下命令:
$ tmpwatch 24 /tmp/ #删除/tmp目录中超过一天未使用的文件
以上命令执行后,其执行结果如下所示:
removing directctmp/orbit-tom if not empty
注意:该指令需要root权限,因此在使用tmpwatch命令前应该使用su命令切换用户。切换管理权限操作如下所示:
$ su #切换到root用户
口令:********** #输入用户密码
--------------------------------------------------------------------------------
Linux touch命令
Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录。
语法
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
实例
使用指令"touch"修改文件"testfile"的时间属性为当前系统时间,输入如下命令:
$ touch testfile #修改文件的时间属性
首先,使用ls命令查看testfile文件的属性,如下所示:
$ ls -l testfile #查看文件的时间属性
#原来文件的修改时间为16:09
-rw-r--r-- 1 hdd hdd 55 2011-08-22 16:09 testfile
执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:
$ touch testfile #修改文件时间属性为当前系统时间
$ ls -l testfile #查看文件的时间属性
#修改后文件的时间属性为当前系统时间
-rw-r--r-- 1 hdd hdd 55 2011-08-22 19:53 testfile
使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。
例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:
$ touch file #创建一个名为“file”的新的空白文件
--------------------------------------------------------------------------------
Linux umask命令
Linux umask命令指定在建立文件时预设的权限掩码。
umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
语法
umask [-S][权限掩码]
实例
使用指令"umask"查看当前权限掩码,则输入下面的命令:
$ umask #获取当前权限掩码
执行上面的指令后,输出信息如下:
0022
接下来,使用指令"mkdir"创建一个目录,并使用指令"ls"获取该目录的详细信息,输入命令如下:
$ mkdir test1 #创建目录
$ ls –d –l test1/ #显示目录的详细信息
执行上面的命令后,将显示新创建目录的详细信息,如下所示:
drwxr-xr-x 2 rootlocal rootlocal 4096 2011-9-19 21:46 test1/
注意:在上面的输出信息中,"drwxr-xr-x"="777-022=755"。
--------------------------------------------------------------------------------
Linux which命令
Linux which命令用于查找文件。
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
语法
which [文件...]
实例
使用指令"which"查看指令"bash"的绝对路径,输入如下命令:
$ which bash
上面的指令执行后,输出信息如下所示:
/bin/bash #bash可执行程序的绝对路径
--------------------------------------------------------------------------------
Linux cp命令
Linux cp命令主要用于复制文件或目录。
语法
cp [options] source dest
或
cp [options] source... directory
实例
使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:
$ cp –r test/ newtest
注意:用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。
--------------------------------------------------------------------------------
Linux whereis命令
Linux whereis命令用于查找文件。
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
语法
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
实例
使用指令"whereis"查看指令"bash"的位置,输入如下命令:
$ whereis bash
上面的指令执行后,输出信息如下所示:
bash:/bin/bash/etc/bash.bashrc/usr/share/man/man1/bash.1.gz
注意:以上输出信息从左至右分别为查询的程序名、bash路径、bash的man 手册页路径。
如果用户需要单独查询二进制文件或帮助文件,可使用如下命令:
$ whereis -b bash
$ whereis -m bash
输出信息如下:
$ whereis -b bash #显示bash 命令的二进制程序
bash: /bin/bash /etc/bash.bashrc /usr/share/bash # bash命令的二进制程序的地址
$ whereis -m bash #显示bash 命令的帮助文件
bash: /usr/share/man/man1/bash.1.gz #bash命令的帮助文件地址
--------------------------------------------------------------------------------
Linux mcopy命令
Linux mcopy命令用来复制 MSDOS 格式文件到 Linux 中,或是由 Linux 中复制 MSDOS 文件到磁片上。
mcopy 可复制单一的文件到所指定的文件名称,或是复制数个文件到所指定的目录之中。来源与目的文件可为 MSDOS 或是 Linux 文件。
mcopy指令是一种mtools工具指令,可以在DOS系统中复制文件或者在DOS与Linux操作系统之间进行文件复制。
语法
mcopy [-bnmpQt/][源文件][目标文件或目录]
实例
将 A 盘根目录中的 autoexec.bat 复制到目前工作目录之下:
mcopy a:autoexec.bat .
当复制的内容包括子目录和文件时,必须使用参数"-/"递归操作,因此该命令为:
mcopy -/ A:\*
执行该命令前先使用mdir 命令查看原来的目录结构,执行mcopy 之后可使用ls 命令查看复制之后Linux系统中的文件结构,结果如下:
cmd@cmd-desktop:~$ mdir -/ a:\* #查看A 盘中的文件
Volume in drive A has no label #加载信息
Volume Serial Number is 13D2~055C
Directory for A:/ #以下为目录信息
#文件名目录大小 修改时间
./TEST <DIR> 2009-09-23 16:59
AUTORUN.INF 265 2009-09-23 16:53
AUTORUN.BAT 43 2009-09-23 16:56
3 files 308 bytes #统计总大小
724 325 bytes free #剩余空间
cmd@cmd-desktop:~$ mcopy -/ A:\* #将A盘上的所有文件复制到当前工作目录
cmd@cmd-desktop:~$ls
TEST AUTORUN.INF AUTORUN.BAT #A盘中的内容复制到Linux文件系统结构中
--------------------------------------------------------------------------------
Linux mshowfat命令
Linux mshowfat命令用于显示MS-DOS文件在FAT中的记录。
mshowfat为mtools工具指令,可显示MS-DOS文件在FAT中的记录编号。
语法
mshowfat [文件...]
使用指令mshowfat查看文件"autorun.bat"的FAT信息,输入如下命令:
$ mshowfat autorun.bat
以上命令执行后,文件"autorun.bat"的FAT相关信息将会被显示出来。
注意:执行操作的文件必须是DOS文件系统下的文件。
--------------------------------------------------------------------------------
Linux rhmask命令
Linux rhmask命令用于对文件进行加密和解密操作。
执行rhmask指令可制作加密过的文件,方便用户在公开的网络上传输该文件,而不至于被任意盗用。
语法
rhmask [加密文件][输出文件] 或 rhmask [-d][加密文件][源文件][输出文件]
参数:
-d 产生加密过的文件。
实例
使用指令"rhmask"将加密文件"code.txt"进行加密后,另存为输出文件"demo.txt",输入如下命令:
$ rhmask code.txt demo.txt
以上命令执行后,文件"code.txt"将被加密后,另存为已经加密的文件"demo.txt"。
注意:该指令有两种语法,用户可以有选择性地进行使用即可。
--------------------------------------------------------------------------------
Linux scp命令
Linux scp命令用于Linux之间复制文件和目录。
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
语法
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
简易写法:
scp [可选参数] file_source file_target
1、从本地复制到远程
命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
应用实例:
scp /home/space/music/1.mp3 root@www.ziqiangxuetang.com:/home/root/others/music
scp /home/space/music/1.mp3 root@www.ziqiangxuetang.com:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.ziqiangxuetang.com:/home/root/others/music
scp /home/space/music/1.mp3 www.ziqiangxuetang.com:/home/root/others/music/001.mp3
复制目录命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
应用实例:
scp -r /home/space/music/ root@www.ziqiangxuetang.com:/home/root/others/
scp -r /home/space/music/ www.ziqiangxuetang.com:/home/root/others/
上面命令将本地 music 目录复制到远程 others 目录下。
2、从远程复制到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例
应用实例:
scp root@www.ziqiangxuetang.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.ziqiangxuetang.com:/home/root/others/ /home/space/music/
说明
1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -p 参数来设置命令的端口号,命令格式如下:
#scp命令使用端口号 4588
scp -p 4588 remote@www.ziqiangxuetang.com:/usr/local/sin.sh /home/administrator
2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
--------------------------------------------------------------------------------
Linux awk 命令
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。
之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。
语法
awk [选项参数] 'script' var=value file(s)
或
awk [选项参数] -f scriptfile var=value file(s)