【日常积累】Linux下目录及文件的基本操作

今天分享一下Linux中常用的一些基础命令

目录及文件的基本操作

pwd

描述:pwd命令的作用是显示当前工作目录的名称
用法::pwd [选项]…
选项::-P显示链接的真实路径

[root@VM-4-6-centos ~]# cd /tmp/
[root@VM-4-6-centos tmp]# mkdir -p a/b/c/d
[root@VM-4-6-centos tmp]# cd a/b/c/d/
#创建一个软连接
[root@VM-4-6-centos tmp]# ln -s  /tmp/ a/b/c/d/abcd
[root@VM-4-6-centos d]# ls
abcd
[root@VM-4-6-centos d]# cd abcd/
[root@VM-4-6-centos abcd]# pwd
/tmp/a/b/c/d/abcd
#注意和上面的区别,加了-P选项显示了真实的路径
[root@VM-4-6-centos abcd]# pwd -P
/tmp

cd

描述:cd命令的作用是切换当前工作目录

#切换到某个指定的工作目录
[root@VM-4-6-centos ~]# cd /usr/lib/systemd/system
#切换至当前目录的上一层目录
[root@VM-4-6-centos system]# cd ..
#切换至上一次的工作目录
[root@VM-4-6-centos systemd]# cd -
/usr/lib/systemd/system
# 切换到当前用户的家目录
[root@VM-4-6-centos system]# cd 
[root@VM-4-6-centos ~]# 

ls

描述:命令的作用是显示目录与文件信息
用法::ls [选项]… [文件/目录]…
选项::-a 显示所有的信息,包括隐藏文件与目录。

  • -d 显示目录本身的信息,而非目录下的文件文件夹的信息。
  • -h 人性化显示容量信息。
  • -l 长格式显示详细信息。
  • -c 显示文件或目录属性最后修改的时间。.
  • -u 显示文件或目录最后被访问的时间。
  • -t 以修改时间排序,默认按文件名称排序。
[root@VM-4-6-centos ~]# cd /tmp/
#显示当前目录下的文件和文件夹
[root@VM-4-6-centos tmp]# ls
stargate.lock  tat_agent  test.sh
#指定显示某个目录下的子文件和目录
[root@VM-4-6-centos tmp]# ls /etc/ssh/
moduli  ssh_config  sshd_config  ssh_host_dsa_key  ssh_host_dsa_key.pub  ssh_host_ecdsa_key  ssh_host_ecdsa_key.pub  ssh_host_ed25519_key  ssh_host_ed25519_key.pub  ssh_host_rsa_key  ssh_host_rsa_key.pub
#查看包括以. 开头的隐藏文件和目录
[root@VM-4-6-centos tmp]# ls -a
.  ..   .font-unix  .ICE-unix  tat_agent  test.sh  .Test-unix  .X11-unix  .XIM-unix
#查看文件和目录的详细信息
[root@VM-4-6-centos tmp]# ls -l
total 12
drwxr-xr-x 4 root root 4096 Aug 14 16:25 tat_agent
-rw-r--r-- 1 root root  369 Aug 14 20:37 test.sh
#查看指定目录自身的详细信息
[root@VM-4-6-centos tmp]# ls -ld /root/
dr-xr-x---. 8 root root 4096 Aug 15 18:17 /root/
#人性化显示容量占用信息
[root@VM-4-6-centos tmp]# ls -lh
total 12K
drwxr-xr-x 4 root root 4.0K Aug 14 16:25 tat_agent
-rw-r--r-- 1 root root  369 Aug 14 20:37 test.sh
# 查看指定文件的属性变更时间
[root@VM-4-6-centos tmp]# ls -lc test.sh 
-rw-r--r-- 1 root root 369 Aug 14 20:37 test.sh
#查看指定文件最后访问时间
[root@VM-4-6-centos tmp]# ls -lu test.sh 
-rw-r--r-- 1 root root 369 Aug 16 10:33 test.sh
#查看文件的信息并以修改时间进行排序,默认倒序
[root@VM-4-6-centos tmp]# ls -lt
total 12
-rw-r--r-- 1 root root  369 Aug 14 20:37 test.sh
drwxr-xr-x 4 root root 4096 Aug 14 16:25 tat_agent

touch

描述:创建或修改文件时间。

[root@VM-4-6-centos tmp]# touch  a.txt

如果a.txt不存在,则创建,如果已存在,则更新文件所有的时间为当前系统时间。

mkdir

描述:创建目录。
选项:-p 创建多级目录。

[root@VM-4-6-centos tmp]# mkdir a
[root@VM-4-6-centos tmp]# mkdir -p a/b/c/d

cp

描述:复制文件与目录
用法:cp[选项]源目标
选项: -r递归,复制子文件与子目录,一般复制目录时使用。

#复制文件/etc/ssh/sshd_config至/ tmp目录下
[root@VM-4-6-centos tmp]# cp /etc/ssh/sshd_config /tmp/
#复制文件/etc/ssh/sshd_config至/目录下并改名为sshd.config
[root@VM-4-6-centos tmp]# cp /etc/ssh/sshd_config /tmp/sshd.config
#复制目录/etc/ssh/至/tmp/目录下
[root@VM-4-6-centos tmp]# cp  -r /etc/ssh/ /tmp/

rm

描述:删除文件或目录
用法: rm [选项]…文件…
选项:

  • -f 不提示,强制删除。
  • -i 删除前,提示是否删除。不指定默认就会提示
  • -r 删除目录以及目录下的所有内容。
# 强制删除不提示
[root@VM-4-6-centos tmp]# rm -f sshd_config 

#删除默认提示
[root@VM-4-6-centos tmp]# rm  sshd.config 
rm: remove regular file ‘sshd.config’? 

#删除目录且不提示
[root@VM-4-6-centos tmp]# rm -rf  ssh

mv

描述:移动(重命名)文件或目录。

#将test.sh 改名为 test.txt
[root-4-6-centos tmp]# mv test.sh  test.txt
#将test.txt移至/root目录下
[root-4-6-centos tmp]# mv test.txt /root/

find

描述:搜索文件或目录。
用法:find [命令选项] [路径] [表达式选项]
选项:

  • -empty 查找空白文件或目录。
  • -group 按组查找。
  • -name 按名称查找。
  • -iname按名称查找,不区分大小写。
  • -mtime 按修改时间查找。
  • -size 按容量大小查找。
  • -type 按档案类型查找, 文件(f)、 目录(d)、 设备(b,c)、 链接(I) 等。
  • -user 按用户查找。
  • -exec 对找到的文件执行命令。
  • -a 并且。
  • -o 或者。
#查找当前目录下名为test.txt的文件
[root@VM-4-6-centos tmp]# find . -name test.txt 
./test.txt
#当前目录下忽略大小写查找文件
[root@VM-4-6-centos tmp]# find . -iname TEST.TXT
./test.txt
# 在/var/log目录下查找以log结尾的文件
[root@VM-4-6-centos tmp]# find  /var/log/ -name *.log
/var/log/audit/audit.log
/var/log/boot.log
/var/log/qcloud_action.log
/var/log/cloud-init-output.log
/var/log/cloud-init.log
/var/log/yum.log
/var/log/tuned/tuned.log

#查找所有内容为空的文件,包括空文件夹和内容为空的文件
[root@VM-4-6-centos tmp]# find  / -empty 
#只查找文件内容为空的所有文件
[root@VM-4-6-centos tmp]# find  / -empty -type f
#查找所有属于nginx组的文件
[root@VM-4-6-centos tmp]# find / -group nginx

#当前目录下查找3天前被修改过的文件
[root@VM-4-6-centos tmp]# find . -mtime +3
./.XIM-unix
./.font-unix
./.X11-unix
./.ICE-unix
./.Test-unix
#当前目录下查找2天内被修改过的文件
[root@VM-4-6-centos tmp]# find . -mtime -2
./tat_agent
./tat_agent/commands
./tat_agent/commands/202308
./tat_agent/logs
./tat_agent/logs/invt-7k2m4fa1b6.log
./test.txt
#当前目录下查找2天前的当天被修改过的文件
[root@VM-4-6-centos tmp]# find . -mtime 2
./stargate.lock
#当前目录下查找大小大于10M的文件
[root@VM-4-6-centos tmp]# find . -size +10M
#当前目录下查找普通文件
[root@VM-4-6-centos tmp]# find . -type f
./tat_agent/logs/invt-7k2m4fa1b6.log
./test.txt
./stargate.lock
#当前目录下查找普通文件,并执行后面的命令。也可以是其他合适的命令。注意格式正确
[root@VM-4-6-centos tmp]# find . -type f -exec ls -l {} \;
-rw-r----- 1 root root 0 Aug 14 16:25 ./tat_agent/logs/invt-7k2m4fa1b6.log
-rw-r--r-- 1 root root 369 Aug 14 20:37 ./test.txt
-rw-r--r-- 1 root root 0 Aug 13 15:12 ./stargate.lock

du

描述:计算文件或目录的容量。
用法: du [选项… [文件或目录]…
选项:

  • -h人性化显示容量信息。
  • -s仅显示总容量。
#查看/root目录总的容量占用信息
[root-4-6-centos tmp]# du -sh /root/
224K    /root/

更多关于Linux的知识请前往博客主页查看,编写过程中可能由于能力有限难免出现问题,敬请指出,谢谢。

你可能感兴趣的:(日常积累,linux,运维)