Linux终端命令1
文件/目录-增删查改, 文件内容查看.
1. touch, mkdir, cd
touch新文件 :在当前文件夹下,创建文件。文件不存在则创建新文件;文件存在则更改末次修改日期。
touch 111.txt
mkdir新路径:在当前目录下创建下一级目录。参数: -p 连续创建多级目录,递归创建。
mkdir e # 在当前路径下创建目录e
mkdir -p a/b/c/d # 递归创建
cd命令:跳转当前的工作目录 (Linux对文件和目录名都是大小写敏感的)
cd # 返回用户的家目录, 作用与cd ~ 同
cd . # 保持当前目录不变
cd .. # 切换到上级目录
cd - # 最近两个工作目录间来回切换
绝对路径/相对路径 (cd 切换路径参数)
绝对路径:以 /(根目录) 或者 ~(家目录)开始的路径。
相对路径:相对于当前路径的文件夹的路径 一个点"."表示当前路径,两个点表示上级路径
2. rm, mv, cp
rm命令:删除路径/文件,可以使用通配符实用。把文件从磁盘消除,没法恢复。
rm -r xxx_path # 删除xxx_path及其子目录下的内容
rm -f xxx_file # 删除xxx_file文件。强制删除,不会有提示。即使文件不在,也不会有任何提示。【-f 是defalut选项,可不写】
cp命令:复制文件/文件夹。文件复制:文件->某路径,覆盖目标路径下的同名文件【不会提示直接覆盖同名文件】。复制后若想改变文件名,可直接在目标路径后接目标文件名。-i选项: 如果文件已经存在,可以跳出提示 n/y 否/是覆盖。文件夹复制:需要加-r 选项。
cp 源文件路径 目标文件路径 # 文件复制
cp -r 源目录路径 目标目录路径 # 文件夹复制
cp -a dirname destdir # 目标目录和原目录文件权限一致
mv命令:(move的缩写) 移动文件或目录,格式与cp相同。移动目录时不需要增加-r选项。
利用 mv 给文件重命名,路径不变文件名改变 参数: -i 覆盖文件时会弹出提示
mv path1 path2 # 移动路径
mv file1 file2 # 移动文件,还能实现文件
3. ls(通配符)
ls 与通配符:快速列举要查看的文件
ls <path> <-a> <-hl> # 列出path下的文件与文件夹,path省略即列出当前路径下的文件与文件夹,
# -a查看隐藏文件, -hl 文件大小..以人类习惯的方式显示
ls 1* # 列出本文件夹下以1开头的文件,
ls *1.txt # 列出本文件夹下以1结尾的文件
ls 1*1.txt # 通配符*:匹配任意字符
ls 1?1.txt # 通配符?:匹配一个字符
ls [1-3]23.txt # 通配符[]:匹配字符组中的任意一个
常用ls复合命令
# 1. ls文件显示
$ ls -hl | more # 分屏显示ls输出
% ls -lt | head -n 2 # 显示前2条ls 的结果
$ ls -t | grep -v '^..' | head -n 2 # 显示前20条ls 的结果(排除以.开头的文件), (没成功)
# 2. ls 文件/文件夹 数量统计
$ ls -l|grep "d"|wc -l # 当前路径中文件夹的个数(包含子目录)
$ ls -l|grep "txt"|wc -l # 当前路径中文件的个数(不包含子目录中的文件)
# 还有另外两种书写方式
$ ls -l|grep "^d"|wc -l
$ ls -l|grep "^_"|wc -l
# 3. find/ls 文件删除,移动
$ ls |head -n 2 | xargs -n1 rm -f # 删除前20个
# 4. ls/echo + > 重定向输出到指定文件
$ ls -lt > tmp.txt
4. 打包压缩/解包解压缩 tar
tar和gzip是对黄金搭档:tar将多文件打包成一个文件[仅打包],gzip压缩一个文件[仅压缩]。tar是Tape Archive(磁带归档)的缩写,一开始是用磁带作为存储介质。tar命令相关参数如下【参数顺序没有特定要求】
x/c--解包/打包
z-- 压缩时使用gzip格式压缩。解压时使用gzip格式解压缩。(压缩文件的格式.tar.gz)
j-- 压缩时使用bzip格式压缩。解压时使用bzip格式解压缩。(压缩文件的格式.tar.bz2)
v--显示解包/打包过程文件信息,没有这个参数将不显示任何东西
f--指明文件,后面必须紧跟着文件名
C--指定压缩/解压后目标目录,默认当前的目录 (大写)
参考博文:Ubutnu下常用的压缩和解压缩命令
4.1 打包 tar -czvf xxx.tar.gz xxx
tar czvf PackName.tar.gz OriginPackPath # 将目录DirName下的文件及其子文件打包压缩
tar czvf PackName.tar.gz --exclude *.csv --exclude "*.gz" -C $RootPath OriginPackPath
# 将OriginPackPath中的文件打包压缩,OriginPackPath排除一些不想打包的文件
# —C 写在前面,--exclude似乎就不起作用
4.2 解压 tar -xzvf xxx.tar.gz
tar -zxvf FileName.tar.gz # 解压到当前路径
tar -C DesDirName -zxvf FileName.tar.gz # 解压到目标路径
# 遇到 find: paths must precede expression: 很有可能是路径没写对。