Linux文件常用命令

折月煮酒 提交于 2020-03-24 16:41:40

文件系统常用命令

1 pwd 显示当前所在的路径
解释:pwd =  print working directory 显示当前所在的目录
[root@localhost run]# pwd
/run
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
2 cd 切换目录结构
解释: cd ---> change directory 改变目录信息
##注意点 /目录  表示绝对路径   ; 目录 表示相对路径

#绝对路径的方式
[root@localhost run]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost etc]# cd /home
[root@localhost home]# pwd
/home

#相对路径的方式
[root@localhost home]# cd /etc
[root@localhost etc]# cd sysconfig/  # 在etc中找syscofig
[root@localhost sysconfig]# pwd
/etc/sysconfig

# 快速回到进入自己的家目录
[root@localhost sysconfig]# cd ~  # 第一种方式
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /root   # 第二种方式
[root@localhost ~]# pwd
/root


[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cd   # 第三中方式cd什么都不加
[root@localhost ~]# 


# 快速回到自己经过过的目录
[root@localhost ~]# cd /etc/sysconfig/
[root@localhost sysconfig]# cd /bin
[root@localhost bin]# pwd
/bin
[root@localhost bin]# cd -  # cd -只能回到离当前最近的一次,要想多次只能多次cd -
/etc/sysconfig


#返回当前路径的上一级目录

[root@localhost lib]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cd ../
[root@localhost sysconfig]# pwd
/etc/sysconfig

[root@localhost sysconfig]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cd ../../
[root@localhost etc]# pwd
/etc

[root@localhost etc]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cd ../../../../../../../../../  # 注意多次是直接到根目录去了
[root@localhost /]# pwd
/
3 mkdir创建目录信息
mkdir ---> make directory

[root@localhost /]# mkdir /oldboy  # mkdir 路径     创建文件夹
[root@localhost /]# cd /oldboy/
[root@localhost oldboy]# pwd
/oldboy


#用-p参数创建多级目录
[root@localhost jason]# cd /
[root@localhost /]# mkdir -p /oldboy/oldgirl/tank  # mkdir -p 路径     创建多级文件夹
[root@localhost /]# cd /oldboy/oldgirl/tank/
[root@localhost tank]# pwd
/oldboy/oldgirl/tank

#我们在创建目录的时候最好是用绝对路径

4 touch 创建文件(摸)
[root@localhost oldboy]# touch 文件路劲

#在linux里面不会通过后缀名来区分文件的类型,但是我们约定,你什么样的文件,就用什么后缀名,免得搞不清楚
5 ls 检查文件或者文件目录是否存在,并列出目录底下的文件
ls ----> list

# ls 查看文件的信息
# ls -a 查看所有的文件和目录,包括隐藏的
# ls -l 默认是创建时间最新到最老排序(不确定,是按时间还是按照文件名排序)
# ls -lt 创建时间最新到最老排序
# ls -ltr 创建时间最老到最新排序

ls -a 表示查看当前文件夹底下的所有文件,包括隐藏文件
6 cat 查看文件信息的命令
# cat 是查看文件信息
cat 文件路路径   显示文件内容
cat 文件1 文件2   可以一次性查询多个文件内容
cat 文件1 文件2 > 文件3   将文件1和文件2的内容 放到文件3中 (会自动创建爱你文件3并写入)
cat -n 文件路径   显示文件内容,big显示行号
7 echo 将信息进行输出
# 直接输出信息
[root@localhost oldboy]# echo "hello world"
hello world
 
# 将echo的内容写入到文件 ,> 是覆盖写入,>> 是追加写入
[root@localhost oldboy]# echo "hello world" > lxx.txt
[root@localhost oldboy]# cat lxx.txt 
hello world

[root@localhost oldboy]# echo "hello world" >>  lxx.txt
[root@localhost oldboy]# cat lxx.txt 
hello world
hello world
8 cp复制
# cp  --->cope
语法格式: cp 原路径 目标路径     拷贝单个文件
		 cp -r 原路径 目标路径   拷贝多个文件

# 在复制文件。在复制文件的时候,要复制的文件不要加/,一般是只能复制目录的时候加/
[root@localhost oldboy]# cp /etc/hosts /oldboy/

[root@localhost oldboy]# cp /etc/hosts /oldboy/   # 当目标文件已有内容会后,再次复制会提示是否覆盖重写
cp: overwrite ‘/oldboy/hosts’? y

# 复制文件夹

[root@localhost sysconfig]# cp -r  /etc/sysconfig/ /oldboy/oldgirl  # -r 实现多级复制


cp :的参数
-r 进行递归复制
-p 拷贝是时候属性保存不变
-d 和链接相关的文件
-a == -drp

# 利用cp做备份

[root@localhost oldboy]# cp jason.txt  jason.txt.bak  # 备份文件一般都是以.bak结尾
[root@localhost oldboy]# ls
hosts  jason.txt  jason.txt.bak  lxx.txt  oldboy.txt  olddog  oldgirl  oldgirl.txt

[root@localhost oldboy]# rm -rf jason.txt  # 删除源文件
[root@localhost oldboy]# ls
hosts  jason.txt.bak  lxx.txt  oldboy.txt  olddog  oldgirl  oldgirl.txt

[root@localhost oldboy]# cp jason.txt.bak  jason.txt  # 备份
[root@localhost oldboy]# ls
hosts  jason.txt  jason.txt.bak  lxx.txt  oldboy.txt  olddog  oldgirl  oldgirl.txt


# 如果cp的时候,多个文件,会出现多次确定,如何避免
[root@localhost oldboy]# cp -r /etc/sysconfig/ /oldboy/oldgirl
cp: overwrite ‘/oldboy/oldgirl/sysconfig/ip6tables-config’? y
cp: overwrite ‘/oldboy/oldgirl/sysconfig/iptables-config’? y

#解决办法
[root@localhost oldboy]# \cp -r /etc/sysconfig/ /oldboy/oldgirl
\cp [参数] 原路径 目标路径   取消提示,强行复制

9 mv 剪切命名
mv --move
对文件或者文件夹进行剪切(移动)
语法格式: mv 要移动的文件或者文件夹  移动要什么位置

#在根目录创建test文件夹,然后创建heihei.txt
[root@localhost oldboy]# mkdir /test
[root@localhost oldboy]# cd /test
[root@localhost test]# touch heihei.txt

现在想要将 /test/heihei.txt文件 剪切(移动)到/oldboy/shanghai/的文件夹,

#创建/oldboy/shanghai文件夹

[root@localhost test]# mkdir /oldboy/shanghai
[root@localhost test]# mv /test/heihei.txt  /oldboy/shanghai/  # 将文件移动到文件夹是剪切
[root@localhost test]# cd /oldboy/shanghai
[root@localhost shanghai]# ls
heihei.txt

#注意:原来的/test/heihei.txt文件消失
[root@localhost shanghai]# cd /test
[root@localhost test]# ls


# 将 /test/heihei.txt文件 剪切(移动)到/oldboy/shanghai,如果不加/,表示将heihei.txt文件内容写入shanghai的文件,并将名字改成shanghai

# 在linux系统没有重名名这个东西,我们可以用mv命令实现
[root@localhost oldboy]# ls
hosts  jason.txt  jason.txt.bak  lxx.txt  oldboy.txt  olddog  oldgirl  oldgirl.txt  shanghai

[root@localhost oldboy]# mv lxx.txt lxxsb.txt
[root@localhost oldboy]# ls
hosts  jason.txt  jason.txt.bak  lxxsb.txt  oldboy.txt  olddog  oldgirl  oldgirl.txt  shanghai

10 rm 命令(删除)
rm --->remove 
语法:rm 参数  要删除的数据信息

#删除文件
[root@localhost ~]# cd /oldboy/
[root@localhost oldboy]# ls
hosts  jason.txt  jason.txt.bak  lxxsb.txt  oldboy.txt  olddog  oldgirl  oldgirl.txt  shanghai

# rm 文件路径  删除文件
[root@localhost oldboy]# rm jason.txt.bak 
rm: remove regular file ‘jason.txt.bak’? y
[root@localhost oldboy]# ls
hosts  jason.txt  lxxsb.txt  oldboy.txt  olddog  oldgirl  oldgirl.txt  shanghai

# rm -r 文件夹路径  删除文件夹
[root@localhost oldboy]# rm -r shanghai
rm: descend into directory ‘shanghai’? y


# rm -f 文件 强行删除不提示
[root@localhost oldboy]# ls
hosts  jason.txt  lxxsb.txt  oldboy.txt  olddog  oldgirl  oldgirl.txt
[root@localhost oldboy]# rm -f oldboy.txt 

# rm -rf 文件 强行删除不提示
[root@localhost oldboy]# rm -rf olddog
[root@localhost oldboy]# ls
hosts  jason.txt  lxxsb.txt  oldgirl  oldgirl.txt

#centos7这个命令会保护
rm -rf /
#rm -rf /* 不受保护  # 友情提示,千万别用这个命令不然把虚拟机的所有东西都会删空



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!