Shell | 文件和目录操作

2020-11-10  本文已影响0人  shwzhao

一切皆文件


  1. 查看路径:pwd、realpath、basename、dirname
  2. 创建文件:mkdir
  3. 删除文件:rm、rmdir
  4. 文件移动和重命名:mv
  5. 文件复制:cp、scp
  6. 改变工作目录:cd

1. 查看路径

1.1 pwd

$ cd # 同 cd ~
$ pwd
/home/username

1.2 realpath

我说我的脚本为啥只能传绝对路径...现在不用担心了

$ realpath test/a.txt
/home/ug0457/test/a.txt

1.3 basename

$ basename test/a.txt
a.txt
$ basename test/a.txt .txt # .txt 为后缀,结果中会去掉后缀
a
$ basename test/a.txt t
a.tx

1.4 dirname

$ dirname `realpath test/a.txt`
/home/ug0457/test
$ dirname test/a.txt train/software/
test
train

2. 创建

2.1 mkdir

-p: 递归创建目录,若父目录不存在则依次创建

mkdir dir #创建名为“dir”的目录
mkdir -p data/genome_data #递归创建

3. 删除

3.1 rm

文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

-r: 将【目录】及以下文件删除
-f: 强制删除

rm -rf file2 # 强制删除目录

4. 移动

4.1 mv

全拼:move
功能:将文件或目录转移、改名

mv test/a.txt . # 将a.txt移动到当前目录
mv test/a.txt ./b.txt 将a.txt移动到当前目录,并改名为b.txt

5. 复制

5.1 cp

-r: 复制目录

cp test/a.txt . # 将a.txt复制到当前目录
cp test/a.txt ./b.txt # 将a.txt复制到当前目录,并改名为b.txt
cp -r file2 file1 #复制目录时加选项-r

5.2 scp

人话就是将文件从一台服务器拷贝到另一台服务器

-r: 递归复制整个目录

scp -r ug0457@116.211.120.204:/home/ug0457/test/a.txt . # 将远程服务器中的a.txt文件拷贝到本地服务器当前目录

6. 改变工作目录

6.1 cd

平时使用cd等命令时注意灵活使用Tab键进行自动补全。

cd #什么都不加,回到home目录
cd / #到根目录
cd ~ #回到用户home目录
cd ../ #到上一层目录
cd - #到上一个目录
cd ../../ #上两层目录
cd /home/username/file/ #cd加绝对路径,到指定目录
上一篇下一篇

猜你喜欢

热点阅读