文件管理
cat
cat 命令用于连接文件并打印到标准输出设备上。
cat filename :打印文件内容
cat >filename :从键盘创建一个文件,但只能创建新文件,不能编辑已有的文件,Ctrl+D保存
cat file1 file2 >>file :将file1和file2的内容附加到file中
注:> 是创建,>> 是追加
cat file1 > file2 :将file1的内容添加到file2中,file2中的内容将被覆盖
cat /dev/null > file :清空file中的内容
参数:
-n|--number :显示行号
-b|--number-nonblock :显示行号除空白行
-s :如果遇到两行以上的空行自动转成一行
file
file命令用于辨别文件类型。
file filename :输出文件名:辨识结果
参数:
-b :不输出文件名,只输出辨识结果
ln
ln命令可以为某一个文件在另外一个位置建立一个同步的链接。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。
more
more命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
more [options] filename
参数:
-d 显示帮助,而不是响铃
-f 统计逻辑行数而不是屏幕行数
-l 抑制换页(form feed)后的暂停
-p 不滚屏,清屏并显示文本
-c 不滚屏,显示文本并清理行尾
-u 抑制下划线
-s 将多个空行压缩为一行
-NUM 指定每屏显示的行数为 NUM
+NUM 从文件第 NUM 行开始显示
+/STRING 从匹配搜索字符串 STRING 的文件位置开始显示
-V 输出版本信息并退出
常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
mv
mv命令用于给文件或目录改名,或将文件或目录移入其他位置。
mv [options] source dest
mv [options] source... directory
options:
-i 若指定目录已有同名文件,则先询问是否覆盖旧文件
-f 在mv操作要覆盖某已有的目标文件时不给任何提示
命令格式 | 运行结果 |
---|---|
mv 文件名 文件名 | 将源文件名改为目标文件名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 | 目标目录已存在,将源目录 移动到目标目录;目标 目录不存在则改名 |
mv 目录名 文件名 | 出错 |
rm
rm命令用于删除一个文件或者目录(无法恢复)
rm [options] name...
options:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
注:删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r"
rm -r * :删除当前目录下的所有目录及文件
touch
touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录。
cp
cp命令用于复制文件或目录。
cp [options] source dest
cp [options] source directory
options:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
注意:用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。
whereis
whereis命令用于查找文件
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
whereis filename :查找file位置,
options:
-b:只查找二进制文件。
-B<目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件
磁盘管理
cd
cd命令用于切换当前工作目录至dirName(目录参数)(change directory)
其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。
cd [dirName]
另外,"~" 表示为 home 目录,
"." 则是表示目前所在的目录,
".." 则表示目前目录位置的上一层目录,
"-" 表示切换之前的目录,
"/" 表示根目录。
df
df命令用于显示目前linux系统上的文件系统的磁盘使用情况统计。
df [options]
options:
-h:使用人类可读的格式
mkdir
mkdir命令用于建立一个新的目录。(make directory)
mkdir [-p] dirName
-p确保目录名称存在,不存在的就建一个
example:
mkdir test :在当前工作目录下,新建一个名为test的子目录
mkdir -p AAA/test :在工作目录下的AAA目录中,新建一个名为test的子目录。若AAA不存在,则建立一个。(若不加-p,AAA目录不存在时,则产生错误。)
pwd
pwd:用于显示工作目录。(print work directory)
ls
ls命令用于显示指定工作目录下的文件和子目录。
ls [options] [name...]
options:
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
备份压缩
tar
tar命令用于备份文件。
tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件中的文件。
压缩文件 非打包
# touch a.c
# tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz
a.c
列出压缩文件内容
# tar -tzvf test.tar.gz
-rw-r--r-- root/root 0 2010-05-24 16:51:59 a.c
解压文件
# tar -xzvf test.tar.gz
a.c
管道符号
|
管道符|用于将两个命令隔开,管道符左边命令的输出作为管道符右边命令的输入。
cat a.txt | grep test :查看a.txt文件中包含test的内容。
文档编辑
grep
grep命令用于查找文件里符合条件的字符串。
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为"-",则grep指令会从标准输入设备读取数据。
grep [options] [要查找的字符串] filename :查找文件file中包含符合条件的字符串并打印
options:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。