Linux Shell编程(20)——基本命令
新手必须要掌握的初级命令
ls
基本的列出所有文件的命令.但是往往就是因为这个命令太简单,所以我们总是低估它.比如,用 -R 选项,这是递归选项,ls 将会以目录树的形式列出所有文件, 另一个很有用的选项是 -S ,将会按照文件尺寸列出所有文件, -t, 将会按照修改时间来列出文件,-i 选项会显示文件的inode
cat, tac
cat, 是单词 concatenate的缩写, 把文件的内容输出到stdout. 当与重定向操作符 (> 或 >>)结合使用时, 一般都是用来将多个文件连接起来.
tac 命令, 就是 cat的反转, 将从文件的结尾列出文件.
rev把每一行中的内容反转, 并且输出到 stdout上. 这个命令与 tac命令的效果是不同的, 因为它并不反转行序, 而是把每行的内容反转.
bash$ cat file1.txt
This is line 1.
This is line 2.
bash$ tac file1.txt
This is line 2.
This is line 1.
bash$ rev file1.txt
.1 enil si sihT
.2 enil si sihT
cp这是文件拷贝命令. cp file1 file2 把 file1 拷贝到 file2, 如果存在 file2 的话,那 file2 将被覆盖
rev把每一行中的内容反转, 并且输出到 stdout上. 这个命令与 tac命令的效果是不同的, 因为它并不反转行序, 而是把每行的内容反转.
bash$ cat file1.txt
This is line 1.
This is line 2.
bash$ tac file1.txt
This is line 2.
This is line 1.
bash$ rev file1.txt
.1 enil si sihT
.2 enil si sihT
cp这是文件拷贝命令. cp file1 file2 把 file1 拷贝到 file2, 如果存在 file2 的话,那 file2 将被覆盖
rmdir删除目录. 但是只有这个目录中没有文件 -- 当然会包含不可见的 点文件 [1] -- 的时候这个命令才会成功.
mkdir生成目录, 创建一个空目录. 比如, mkdir -p project/programs/December 将会创建出这个指定的目录, 即使project目录和programs目录都不存在. -p 选项将会自动产生必要的父目录, 这样也就同时创建了多个目录.
chmod修改一个现存文件的属性
ln创建文件链接, 前提是这个文件是存在的. "链接" 就是一个文件的引用, 也就是这个文件的另一个名字. ln 命令允许对同一个文件引用多个链接,并且是避免混淆的一个很好的方法 (见 Example 4-6).
ln 对于文件来说只不过是创建了一个引用, 一个指针而已, 因为创建出来的连接文件只有几个字节.
绝大多数使用ln 命令时使用是 -s 选项, 可以称为符号链接, 或软链接.使用 -s 选项的一个优点是它可以穿越文件系统来链接目录.
关于使用这个命令的语法还是有点小技巧的. 比如: ln -s oldfile newfile 将对老文件产生一个新的文件链接.
ls
基本的列出所有文件的命令.但是往往就是因为这个命令太简单,所以我们总是低估它.比如,用 -R 选项,这是递归选项,ls 将会以目录树的形式列出所有文件, 另一个很有用的选项是 -S ,将会按照文件尺寸列出所有文件, -t, 将会按照修改时间来列出文件,-i 选项会显示文件的inode
cat, tac
cat, 是单词 concatenate的缩写, 把文件的内容输出到stdout. 当与重定向操作符 (> 或 >>)结合使用时, 一般都是用来将多个文件连接起来.
tac 命令, 就是 cat的反转, 将从文件的结尾列出文件.
rev把每一行中的内容反转, 并且输出到 stdout上. 这个命令与 tac命令的效果是不同的, 因为它并不反转行序, 而是把每行的内容反转.
bash$ cat file1.txt
This is line 1.
This is line 2.
bash$ tac file1.txt
This is line 2.
This is line 1.
bash$ rev file1.txt
.1 enil si sihT
.2 enil si sihT
cp这是文件拷贝命令. cp file1 file2 把 file1 拷贝到 file2, 如果存在 file2 的话,那 file2 将被覆盖
rev把每一行中的内容反转, 并且输出到 stdout上. 这个命令与 tac命令的效果是不同的, 因为它并不反转行序, 而是把每行的内容反转.
bash$ cat file1.txt
This is line 1.
This is line 2.
bash$ tac file1.txt
This is line 2.
This is line 1.
bash$ rev file1.txt
.1 enil si sihT
.2 enil si sihT
cp这是文件拷贝命令. cp file1 file2 把 file1 拷贝到 file2, 如果存在 file2 的话,那 file2 将被覆盖
rmdir删除目录. 但是只有这个目录中没有文件 -- 当然会包含不可见的 点文件 [1] -- 的时候这个命令才会成功.
mkdir生成目录, 创建一个空目录. 比如, mkdir -p project/programs/December 将会创建出这个指定的目录, 即使project目录和programs目录都不存在. -p 选项将会自动产生必要的父目录, 这样也就同时创建了多个目录.
chmod修改一个现存文件的属性
ln创建文件链接, 前提是这个文件是存在的. "链接" 就是一个文件的引用, 也就是这个文件的另一个名字. ln 命令允许对同一个文件引用多个链接,并且是避免混淆的一个很好的方法 (见 Example 4-6).
ln 对于文件来说只不过是创建了一个引用, 一个指针而已, 因为创建出来的连接文件只有几个字节.
绝大多数使用ln 命令时使用是 -s 选项, 可以称为符号链接, 或软链接.使用 -s 选项的一个优点是它可以穿越文件系统来链接目录.
关于使用这个命令的语法还是有点小技巧的. 比如: ln -s oldfile newfile 将对老文件产生一个新的文件链接.