目录
ls(list):显示当前路径下的所有文件名
ls-l:显示当前路径下的所有文件名,且显示更多属性
ls -a 列出目录下的所有文件,包括以 . 开头的隐藏文件。
.表示当前目录
..表示上一级目录
隐藏文件的基本用途:可以用来进行隐藏一些配置文件
也可使用ls-a-l,ls-al,ls-la,ls-l-a,这三种指令产生的效果相同
ls -i 列出文件的详细信息。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
语法: pwd
功能:显示用户当前所在的目录
绝对路径
相对路径:不以根目录开始,而是以当前路径为参考点
路径是唯一确定的,定位文件的时候采用路径定位,会提高准确程度
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
举例:cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家(home或root)目录
cd -:返回最近访问目录
安装tree:yum -y install tree
显示当前目录下树状图:tree .或tree
显示上一级目录下树状图:
语法:touch [选项]... 文件...(创建一个普通文件)
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
-a 或--time=atime或--time=access或--time=use只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
如输入:touch CSDN
红框为文件最近修改的时间
重新输入touch CSDN,可更新CSDN这个文件的最近修改时间,更新为最新的时间
输入stat CSDN 可显示不同的3个时间
语法:mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录(文件夹)
mkdir是创建一个目录
mkdir -p 创建一个路径
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rmdir默认只能删除空目录
rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
用rm删除的时候一般会进行询问,输入y或n就行
当用rm删除code时,不让删 ,这是因为rm默认删除的时候只能删除空文件
输入 rm -r(递归式的删除)f(强制的删除) code之后就不再询问,而且删除该文件的全部内容
加上*
创建二十个文件
此时若只想显示.c文件,输入ls *.c
然后就只显示.c文件
*其实是一种空配符号
删除所有.c文件
rm -rf删除文件或目录
rm -rf*.c *是一种空配结构
rm -rf *删除该目录下所有文件
rm -rf /从根目录开始全给删了
Linux没有回收站,删了就是删了,但可以恢复,但是恢复需要很强的能力
rm -i在删除的时候会询问你
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: man [选项] 命令
man pwd 就会显示pwd介绍
输入man man可看到man的在线手册
输入man 1-9(1-9中随便一个数字) printf可查看起相对应的功能
退出时按q,这个需要安装输入yum install -y man-pages
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息
常用选项: -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
把文件从 src拷贝到dst中
将文件拷贝到test目录下
也可使用 ..拷贝上级目录或拷贝到上级目录
拷贝到上级目录
当我们想把test目录拷贝到8-19目录中,此时不能拷贝
我们可用cp -rf指令进行拷贝
test被拷贝到了 8-19目录下
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命 令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能: 1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的 目录中。
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它 将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至 目标目录中。
把src内容移动到dst
将hello.c移动到当前路径下
也可进行改名,在当前路径下
若是没在当前路径改,改完名后,该文件会被移动到当前路径
mv作用:a.转储一个文件或目录到其它文件或目录下
b.对一个文件或者目录进行重命名
语法:cat [选项][文件]
功能: 查看目标文件的内容
常用选项: -b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
cat显示文件的内容
tac是将cat倒过来
倒着显示文件内容
把字符串打印出来
当加上>文件名,之后会创建一个文件
echo打印内容到显示器,>创建没有的文件,本来该显示到显示器的内容被写入到了文件中,这种现象叫输出重定向
输出重定向:1.如果目标文件不存在,则创建,否则直接进行访问
2.访问
a.输出重定向(从文件开始,覆盖式的写入)
b.追加重定向(从文件的结尾,追加式的写入)
.
>>追加重定向,会在原内容后面追加新内容
无论是输出重定向,还是追加重定向本质都是写入
输入cat指令之后 后面什么都不跟直接回车,我们会发现当前光标卡在了这里
这个时候我们按ctrl+C即可退出
这种情况(cat后不跟任何内容直接回车)输入什么,就会显示什么
当我们输入的时候是从键盘输入的
cat读取输入是从键盘缓冲区读取的
cat打印数据,打印到了显示器上
这种情况 我们在cat后面加了文件名 ,读取数据的时候从文件内容中读取,打印的时候打印到显示器中
上面俩种情况对比:
1.本来是从键盘缓冲区读取数据,加上文件名之后可以从文件中读取
2.
当我们输入<时,仍然能从文件中写入
<叫做输入重定向
cat本来默认输入是从键盘里输入,现在变成了从文件中输入
输入重定向本质:本来应该从键盘中读取的内容,变成了从文件中读取
这俩种方式都可以打印,但是为什么要有第一种呢?
后面博客基础IO里面会写
本来要把file.txt的内容输出到频幕上,加了输出重定向之后,把文件内容输出给了bak.txt,可以观察打印出来的bak
cat
> bak1.txt 然后输出给bak1.txt或者说打印到bak1.txt中
理念:显示器:程序的标准输出 键盘:程序的标准输入 文件
LInux下一切皆文件
文件最常见的操作读写