功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 用法:
ls [选项][目录或文件]
注意:中间需要空格分隔
显示当前目录的所有文件及目录
常用的选项(牢记):
.
..
为隐藏文件
..
:表示当前路径的上级路径.
:表示当前路径指令和选项或选项加选项是可以缩写的 如:
ls -l => ll
ls -l -a =>ls -la
ls指令还可以配合通配符使用:
通配符:*
ls * 显示所有文件或目录
ls *.c 显示所有后缀为.c的文件或目录
ls test* 显示所有以test为前缀的文件或目录
更多其他选项(了解即可)
选项 | 功能 |
---|---|
-i | 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件 |
-k | 以 k 字节的形式表示文件的大小。ls –alk 指定文件 |
-n | 用数字的 UID,GID 代替名称 |
-r | 对目录反向排序 |
-t | 以时间排序 |
-s | 在l文件名后输出该文件的大小。 |
-R | 列出所有子目录下的文件。(递归) |
-1 | 一行只输出一个文件 |
功能:显示用户当前所在的目录 无选项
显示出我现在在家目录home的hanhe666目录中。
注:/
为路径分隔符(Linux特有风格)
功能:更改工作目录。将当前工作目录改变到指定的目录下。 用法:
cd [目录名]
常见的用法
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
在Linux系统中,磁盘上的文件和目录被组成一棵树,每个节点都是目录或文件。因此,我们对文件或目录的增删查改本质上是对一颗多叉树进行增删查改。
当我们需要定位一个文件时,通常用路径来定位。
因为路径定位具有唯一性:定位任意一个文件有且只有一条路径。
why?
因为任何节点都只有一个父节点。
/
(根目录)开始定位到指定位置的路径注:当我们所处位置发生变化了,这个相对路径可能会失效
怎么用?
touch [选项] 文件名...
主要功能:
创建空文件:如果文件不存在,touch
会创建一个新的空文件。
touch newfile.txt # 创建名为 newfile.txt 的空文件
更新文件的时间戳:
touch
会将文件的访问时间(atime)和修改时间(mtime)更新为当前时间。touch
不会改变文件内容,仅更新时间戳。常用选项:
选项 | 说明 |
---|---|
-a | 仅更新访问时间(atime) |
-m | 仅更新修改时间(mtime) |
-c 或 --no-create | 不创建新文件(仅更新时间戳) |
-d 或 --date="时间字符串" | 使用指定时间更新文件时间戳(如 -d "2023-10-01 12:00:00") |
-r 或 --reference=文件 | 使用参考文件的时间戳(同步两个文件的时间) |
-t | 使用 [[CC]YY]MMDDhhmm[.ss] 格式的时间(如 -t 202310011200.30) |
示例:
创建多个空文件:
touch file1.txt file2.txt
仅更新文件的修改时间(不改变访问时间):
touch -m oldfile.txt
使用参考文件的时间戳:
touch -r source.txt target.txt # 将 target.txt 的时间戳设为和 source.txt 相同
指定自定义时间:
touch -d "2023-10-01 12:00:00" timefile.txt
避免创建新文件(仅更新时间戳):
touch -c nonexistent.txt # 如果文件不存在,不创建
mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
mkdir -p test/test1 : 递归建立多个目录
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。 功能:删除空目录(若目录不为空,报错)
用法:
rmdir [-p][dirName]
rm命令即可删除文件也可以删除目录
常用选项:
常用具体用法:
rm 删文件
rm -f 无需询问直接删
rm -r 递归删除(可删目录)
rm -rf 无需询问直接删
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
man [选项] 命令
将输入的字符串打印到屏幕上
>
为输出重定向符,这里的作用是:将原本要输出到屏幕的数据改为输出到文件test.txt中了。cat
是查看文件内容的指令:将文件内容输出到屏幕可以看到,“你好”被写入“test.txt”文件中了。 注意:
>
为覆盖输出,要想追加可以用>>
追加重定向<
输入重定向也是存在的
如:cat < test.txt
效果与不加<没有啥区别,用的很少
功能:复制文件或目录
cp [选项] 源文件或目录 目标文件或目录
常用选项:
mv [选项] 源文件或目录(sourse) 目标文件或目录(destination)
功能:
我们再来回头思考一下1的重命名,其本质原理似乎就是一种剪切,只不过他的路径是./
当前目录
mv out.txt ./in.txt
常用选项:
cat [选项][文件]
功能:查看目标文件的内容
常用选项:
more [选项][文件]
功能与cat类似,more一般用来看大文件。 常用选项:
linux正统查看文件内容的工具,可按上下键浏览,还可以向上向下搜索。 语法:
less [参数] 文件
功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
浏览文件只用less不用more
选项:
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头,而 tail 就是看档案的结尾。
head功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
tail功能: 于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
head [参数]... [文件]...
tail [参数]... [文件]...
选项:
显示时间: date指定格式显示时间:
date [选项] [+格式]
在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记
这里的-、_、:都是我自己设定的,可以随意更改
常用的标记列表:
与时间戳的转换:
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
cal [参数][月份][年份]
功能:在指定的路径下进行文件的搜索
find [目录][选项]
常用选项:
功能:搜索指令文件 用法:which + 指令
这里的alias是什么呢? 其实他是一个具有取别名功能的指令,这里了解一下就行。 使用方法如下:
注意:指令其实就是可执行程序,没有什么神秘的
用法:which + 指令 功能:在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册和安装包、压缩包等。
行文本过滤工具
grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
将test2目录压缩:zip test2.zip test2*
解压到tmp目录:unzip test2.zip -d /tmp
功能:
常用选项:
记住以下即可:
tar czf XXX.tgz ---打包压缩
tar tzf XXX.tgz ---预览
tar xzf XXX.tgz ---解压解包
tar xzf XXX.tgz -C [目录]---解压解包到指定目录
Tab键自动补全命令 在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令
history游览历史 当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
history保留了最近执行的命令记录,默认可以保留1000。
history N 显示最近N条命令
history -c 清除所有的历史记录
history -w xxx.txt 保存历史记录到文本xxx.txt
语法:shutdown [选项] 常见选项: