文件管理

cat

cat 命令用于连接文件并打印到标准输出设备上。

  1. cat filename :打印文件内容
  2. cat >filename :从键盘创建一个文件,但只能创建新文件,不能编辑已有的文件,Ctrl+D保存
  3. cat file1 file2 >>file :将file1file2的内容附加到file
  4. 注:> 是创建,>> 是追加
  5. cat file1 > file2 :将file1的内容添加到file2中,file2中的内容将被覆盖
  6. cat /dev/null > file :清空file中的内容
  7. 参数:
  8. -n|--number :显示行号
  9. -b|--number-nonblock :显示行号除空白行
  10. -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  查找不包含指定类型的文件

tail

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

tail [参数] [文件]

#参数:
    -f 循环读取
    -q 不显示处理信息
    -v 显示详细的处理信息
    -c<数目> 显示的字节数
    -n<行数> 显示文件的尾部 n 行内容
    --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
    -q, --quiet, --silent 从不输出给出文件名的首部
    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

磁盘管理

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。

系统管理

ps

Linux ps命令用于显示当前进程 (process) 的状态。

#显示所有进程信息,连同命令行
ps -ef

# 显示xxx对应的所有进程
ps -ef | grep xxx

kill

Linux kill命令用于删除执行中的程序或工作。

# 杀死进程
kill 12345
# 强制杀死进程
kill -KILL 123456
# 彻底杀死进程
kill -9 123456