一、Linux的文件目录指令
1、文件操作指令
pwd指令
指令形式:pwd (功能描述:显示当前工作目录的绝对路径)
pwd 输出:/home/b/a.txt
注意:绝对路径和相对路径区别
1.绝对路径是一个文件实际存在于你的硬盘中的路径。
2.相对路径,指的是与自身的目标档案相关的位置。
3.绝对路径是指可以从这个路径上查找文件夹,不管是从外部或内部存取。而相对路径则是与它本身相关的,其它地方的档案和路径,则只能在内部存取。
ls指令
指令形式:ls【选项】【目录或者文件】 (功能描述:表示查看当前目录下的所有内容)
基本选项
-
-a :显示当前目录所有的文件和目录 ,包括隐藏文件
-
-l : 表示以列表的形式进行展示
也可以写成 ls -al 表示以列表的形式展示所有的文件和目录
ls /home 输出:展示所有的用户
cd指令
指令形式: cd【参数】 (功能描述:切换到指定目录)
cd ~ 或者 cd 回到自己的家目录
cd .. 回到当前目录的上一级目录,根目录( / )使用cd .. 还是回到根目录
cd /root 用绝对路径切换到root目录下
cd /home 切换到home目录下
cd ../root 从当前目录home切换到root目录,使用的是相对路径切换
注意:cd 【绝对路径】表示从上(根目录)往下切换到指定目录
cd 【相对路径】 表示从下(当前目录)切换到指定目录
mkdir 指令
指令格式 : mkdir 【需要创建的目录】 (功能描述:用于创建一个新的目录)
mkdir /home/a 在home目录(已有目录)下创建一个新的目录a
# 若想创建多级目录 需要添加 -p
mkdir -p /home/afile/a 在home目录(已有目录)下创建afile和a两个新建的目录
rmdir指令
指令格式 :rmdir 【需要删除的目录】 (功能描述::删除空目录)
rmdir /home/a 删除home目录下的a空目录
# 若删除的目录中并不为空,还存在文件的花,则无法使用rmdir,应该使用 rm -rf【需要删除的目录】
rm -rf /home/afile 在afile中还有a目录的时候(并不为空),强行删除afile目录
切记:不要轻易尝试 !!!rm -rf / 或者是 rm -rf /* ,表示的是删除根目录下所有的目录
touch 指令
指令格式: touch 【创建的文件】 (功能描述:创建一个空的文件)
touch /home/a.txt 在home目录下创建一个空的a.txt文件
cp指令
指令格式:cp【需要粘贴的文件】【粘贴的位置】 (功能描述:cp指令(copy指令)将文件拷贝到指定位置 例如window下的复制粘贴)
mkdir bbb 创建一个空的文件夹bbb
cp a.txt home/bbb/ 将a.txt文件拷贝到bbb文件下
# 若想把整个文件(含有其他多个文件,一起拷贝过去) 则需要使用 cp -r 【需要粘贴的文件】【粘贴的位置】 -r表示递归的意思 和rm -rf中的第二个r是一个意思
cp /home/bbb /opt 将bbb中所有的文件(包括bbb本身全部拷贝到 opt目录下)
注意 : 若执行两次一样的cp指令操作(cp /home/bbb /opt)会询问你是否覆盖与之前名字相同的文件(与window下的操作拷贝操作一样),若想覆盖之前的文件,则输入y,若不想覆盖,则 输入n
为解决确定所有的覆盖内容而带来的重复操作 ,可以使用 /cp /home/bbb /opt 表示强制覆盖原先同名文件
rm指令
指令格式: rm【需要删除的文件或者目录】 (功能描述:移除指定的文件或者目录)
rm a.txt 将a.txt文件移除
注意:
-
-r :递归地删除整个文件
-
-f :强制删除 不提示
每删除一个文件都会有提示,Ubuntu删除文件不会有提示
rm -rf 【删除的文件或者目录】 强制删除指定目录中所有的文件并且不提示
mv指令
指令格式: mv【需要移动的文件】 【指定的位置】(功能描述:移动文件或者目录或者重命名)
用法如下:
-
在同一个目录下执行 mv 指令,表示的是对文件的重命名,并不是移动文件
-
在不同的目录下执行 mv 指令,表示将文件移到指定位置(类似于window下的Ctrl+X)
# 两个文件在同一个目录下,将a.txt 文件重命名为b.txt,并没有将文件进行移除
touch a.txt
mv a.txt b.txt
# 两个文件不在同一个目录下,将文件移到指定位置,将home目录下的b.txt文件移动到root目录下
mv home/b.txt /root
注意:在mv指令操作下,文件和目录是属于同一级别的,不但可以把文件重命名,也可以使得目录重新命名
>指令和 >> 指令
指令语法:【指令】>【文件】 (功能描述:输出重定向)
ls -l > a.txt 列表中的内容写入文件a.txt中(覆盖写)
ls -al > > a.txt 列表中的内容追加到文件a.txt中(在末尾追加)
cat 文件1 > >文件2 将文件1中的内容追加在文件2中
2、查看文件指令
cat指令
指令格式: cat【查看文件】 (功能描述:可以查看文件内容,但是不能修改,对于重要的文件而言,比vim更安全)
cat -n 【查看文件】 -n表示可以显示出行号
cat -n a.txt
cat可以和more进行搭配使用
more 指令
指令格式: more 【查看文件】
(功能描述:more指令是一个基于VI编译器的文件过滤器,它以全屏幕的方式按页显示文件文件内容。more指令中内置了若干快捷键(交互的指令),功能和cat指令相似)
使用more查看文件内容的快捷方式
操作 | 功能说明 |
---|---|
空白键(space) | 代表向下翻一页 |
Enter | 代表向下翻一行 |
q | 代表立即离开more,不再显示该文件内容 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less 指令
指令格式:less 【指定文件】 (功能描述:用来分屏查看文件内容)
less的功能比more的功能更加强大,支持各种显示终端,less指令在显示文本内容的时候,并不是一次性将所有的内容展示出来,而是根据显示内容进行内容的加载,对于显示内存消耗大的文件更加方便。
使用less查看文件的快捷方式
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页 |
【pagedown】 | 向下翻动一页 |
【pageup】 | 向上翻动一页 |
/字串 | 向下搜寻【字符】的功能;n:向下查找;N:向上查找 |
?字串 | 向上搜寻【字符】的功能;n:向上查找;N:向下查找 |
q | 离开less这个文件 |
less a.txt 查看a.txt文件内容
提示: /字串 和 ?字串 跟vi的查询操作是一样的
echo指令
指令格式:echo 【输出内容】 (功能描述:echo会将输出内容到控制台,类似于c语言中的printf)
echo 'hello,world!' 输出:hello,world!
echo $hostname 输出:当前的主机名
head指令
指令格式:head 文件 (功能描述:用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容)
其他格式:
head -n m(数字) 文件 表示查看文件前m行内容
head -n 5 a.txt 查看a.txt文件中前五行内容
tail指令
指令格式: tail 文件 (功能描述:查看文件尾10行内容)
其他格式:
-
tail -n 5 文件 (功能描述:查看文件尾5行内容 ,5可以是任意行数)
-
tail -f 文件 (功能描述:实时追踪该文件的所有更新)
tail -n 5 a.txt 查看a.txt
3、其他指令
ln指令
指令格式:ln -s【原文件或目录】【软连接名】 (功能描述:给原文件创建一个软连接)
软连接也称为符号链接,类似于windows里的快捷方式,主要存存放了链接其他文件的路径。当我们使用pwd指令查看目录的时候,看到的是软连接所在的目录
# 在/home目录下创建一个软连接myroot,链接到/root目录
ln -s /root/ myroot
ll # ll 指的是 ls -al 展示所有的数据以列表的形式
rm /root/myroot # 删除软连接
history指令
指令格式:history (功能描述:查看已经执行的所有命令,页可以执行历史命令)
history # 查看之前的所有指令
history head # 查看前十条指令
history tail #查看后十条指令
history | more # 按照页的形式进行查看
!n(数字) # 表示执行第n个指令
时间日期指令
指令格式:date (功能描述 显示当前日期)
基本语法:
-
date “+%Y” (功能描述:显示当前年份)
-
date “+%m” (功能描述:显示当前月份)
-
date “+%d” (功能描述:显示当前哪一天)
-
date “+%Y-%m-%d %H:%M:%S” (功能描述:显示年月日时分秒)
date 2022年 09月 10日 星期六 17:25:01 CST
日历指令
cal 【选项】 (功能描述:不加选项,显示本月日历)
cal # 查看本月的日历
cal 2020 # 查看2020年整年的日历
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/288748.html