Linux 中的常用命令或小技巧

都是平时使用的或者网上收集的比较实用的命令或小技巧,有些命令在 windows 中也是通用的。

1,tab 键补全

这是一个小技巧,windows 和 linux 通用。
当需要输入文件或文件夹名称时,不需要打全,只需要输入名称的前几个字符,然后按tab键即可。如果当前路径下只有一个文件,不需要输入,可以直接按tab键,会自动补全文件名。

2,返回 home 目录或根目录

# 返回 home 目录
cd ~
# 或者输入cd之后直接回车
cd

#返回根目录
cd /

3,列出目录文件的详细信息

ls -al
# 或
ll

4,返回前一个路径

cd -

注意: 这里不是返回上一级目录(cd ../)的意思,是返回在跳转到当前目录之前的上一个路径,比如你打开终端时,默认在 home 目录中,使用 cd /abc 跳转到了根目录下的 abc 目录,此时,使用 cd - ,可以返回到 home 目录中

5,同时执行多条命令

# 多条命令之间,使用 ; 隔开 (命令执行没有先后顺序)
cd ~ ; ls

6,快速执行上一条命令

ls -al
# 重复上一条命令
!!

7, 按顺序执行命令

# 会在 ls 命令执行完成之后再执行 cd 
ls && cd ~

8,find 命令限制查找深度

# find 命令默认查找当前目录和所有子目录 -maxdepth 参数可以限制查找深度
# 查找当前目录中的所有 txt 文件 ".txt" 的引号不能省略。
find . -maxdepth 1 -name "*.txt"

9,字符串变量值的截取 (转载自: 查看原文

变量的截取,经常用到的是${}##%% 几个特殊符号。假设我们定义了一个变量为:
file=/dir1/dir2/dir3/my.file.txt ,可以用 ${ } 分别替换得到不同的值:

写法 含义 结果
${file#*/} 删掉第一个 / 及其左边的字符串 dir1/dir2/dir3/my.file.txt
${file##*/} 删掉最后一个 / 及其左边的字符串 my.file.txt
${file#*.} 删掉第一个 . 及其左边的字符串 file.txt
${file##*.} 删掉最后一个 . 及其左边的字符串 txt
${file%/*} 删掉最后一个 / 及其右边的字符串 /dir1/dir2/dir3
${file%%/*} 删掉第一个 / 及其右边的字符串 (空值)
${file%.*} 删掉最后一个 . 及其右边的字符串 /dir1/dir2/dir3/my.file
${file%%.*} 删掉第一个 . 及其右边的字符串 /dir1/dir2/dir3/my
${file:0:5} 提取最左边的 5 个字节 /dir1
${file:5:5} 提取第 5 个字节右边的连续5个字节 /dir2

记忆的方法为:

  • # 是 去掉左边(键盘上#$ 的左边)
  • %是去掉右边(键盘上%$ 的右边)
  • 单一符号是最小匹配
  • 两个符号是最大匹配

也可以对变量值里的字符串作替换:

写法 含义 结果
${file/dir/path} 将第一个 dir 替换为 path /path1/dir2/dir3/my.file.txt
${file//dir/path} 将全部 dir 替换为 path /path1/path2/path3/my.file.txt

利用 ${ } 还可针对不同的变量状态赋值(沒设定、空值、非空值):

写法 含义
${file-my.file.txt} 假如 $file 沒有设定,則使用 my.file.txt 作传回值。(空值及非空值時不作处理)
${file:-my.file.txt} 假如 $file 沒有設定或為空值,則使用 my.file.txt 作傳回值。 (非空值時不作处理)
${file+my.file.txt} 假如 $file 設為空值或非空值,均使用 my.file.txt 作傳回值。(沒設定時不作处理)
${file:+my.file.txt} $file 為非空值,則使用 my.file.txt 作傳回值。 (沒設定及空值時不作处理)
${file=my.file.txt} $file 沒設定,則使用 my.file.txt 作傳回值,同時將 $file 賦值為 my.file.txt 。 (空值及非空值時不作处理)
${file:=my.file.txt} $file 沒設定或為空值,則使用 my.file.txt 作傳回值,同時將 $file 賦值為 my.file.txt 。 (非空值時不作处理)
${file?my.file.txt} $file 沒設定,則將 my.file.txt 輸出至 STDERR。 (空值及非空值時不作处理)
${file:?my.file.txt} $file 没设定或为空值,则将 my.file.txt 输出至 STDERR。 (非空值時不作处理)
${#var} 可计算出变量值的长度,${#file} 可得到 27,因为 /dir1/dir2/dir3/my.file.txt27个字节
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容