Linux常用命令(二)

1. mkdir命令

mkdir -m 777 lv  设置权限
mkdir -p lvsicheng/test/abc/java  递归创建多个目录
mkdir -v lvsicheng/test/abc/java  每次创建新目录都显示信息

思考题

mkdir -vp shiyanlou/{lib/,bin/,doc/{info,product}}
tree shiyanlou/

在当前shell下执行,递归地创建多个目录,然后通过tree命令显示

2. rm命令

rm -r lv/ –recursive 递归地删除

rm -f a.txt 强势删除

rm -vrf lv/ 详细显示进行的步骤

myrm() { 
   D=/tmp/$(date +%Y%m%d%H%M%S); 
   mkdir -p $D; 
   mv "$@" $D && echo "moved to $D ok";
}

在/tmp目录下创建一个由时间命名的目录,然后将当前目录下的一个文件或目录mv过去,实现自定义的myrm函数

3. mv命令

mv [选项] 源文件或目录 目标文件或目录

  • 当第二个参数类型是文件时,mv完成文件重命名
  • 当第二个参数类型是目录时,mv将各参数指定的源文件均移至目标目录中

常用参数

-b –back 若需覆盖文件,则覆盖前先行备份

-i –interactive 交互式

-u –update 若目标文件已经存在,且源文件比较新,才会更新

4. cp命令

cp [选项] 源文件或目录 目标文件或目录

-a: --archive 等同于-dpR
-d: 复制符号链接时,把目标文件或目录也建立为符号链接
-p: 复制源文件或目录内容的同时也复制文件属性
-R: -r --recursive 递归复制目录
-n: --no-clobber 不要覆盖已存在的文件
-s: --symbolic-link 对源文件建立符号链接,而非复制文件
-u: --update 只会在源文件的修改时间较目的文件更新时,或是对应的目的文件并不存在,才复制文件

将 test1 目录下的所有文件和子目录复制到 test2 目录下,覆盖前询问

cp -iR test1/* test2

5. cat命令(concatenate)

cat 命令的功能是将文件或标准输入组合输出到标准输出。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

-A –show-all 等价于 -vET

-v –show-nonprinting

-E –show-ends 在每行结束处显示 $

-T –show-tabs 将跳格字符显示为 ^I

-b –number-nonblank 对非空输出行编号

-n –number 对输出的所有行编号,由 1 开始对所有输出的行数编号

-s –squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行

思考题

cat -A << EOF
> `ls -l`
> EOF

执行该命令会输出什么?

想知道这题答案,必须要先了解什么是heredoc

heredoc = here document

Here Document 是在Linux Shell中的一种特殊的重定向方式,它的基本形式如下:

cmd << delimiter(这里一定是"<<")
    Here Document Content
delimiter

它的作用就是将两个 delimiter 之间的内容(Here Document Content 部分) 传递给cmd 作为输入参数。

6. nl命令

nl = numbers of lines

nl 命令在 linux 系统中用来计算文件中行号。
nl 可以将输出的文件内容自动的加上行号。
其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,
包括位数与是否自动补齐 0 等等的功能

eg:

nl -n ln a.txt
nl -n rn a.txt
nl -n rz a.txt
nl -n rz -w 3 a.txt

Bash实用技巧

Bash实用技巧

Bash十大技巧

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 1. mkdir命令
    1. 1.1. 思考题
  2. 2. 2. rm命令
  3. 3. 3. mv命令
  4. 4. 4. cp命令
  5. 5. 5. cat命令(concatenate)
    1. 5.1. 思考题
    2. 5.2. heredoc = here document
  6. 6. 6. nl命令
  7. 7. Bash实用技巧
,