ls:显示当前路径下的文件名
标志 | 作用 |
---|---|
-a | 显示所有文件,包括隐藏文件 |
-l | 列出文件的详细信息 |
-i | 查看文件的inode编号 |
-d | 将目录像文件一样显示,而不是显示其下的文件。如: ls -d指定目录 |
-r | 对目录反向排序 |
-t | 以时间排序 |
-s | 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件) |
-R | 列出所有子目录下的文件。(递归) |
-1 | 一行只输出一个文件。 |
-k | 以k字节的形式表示文件的大小。ls -alk指定文件 |
-n | 用数字的UID,GID代替名称。(介绍UID,GID) |
-F | 在每个文件名后附上一个字符以说明该文件的类型,"*“表示可执行的普通文件;”/“表示目录;”@“表示符号链接;”|“表示FIFOs;”="表示套接字(sockets)。(目录类型识别) |
显示当前路径
[hmy@VM-8-15-centos ~]$ pwd
/home/hmy
在当前路径下创建一个普通文件
[hmy@VM-8-15-centos ~]$ touch test.txt
[hmy@VM-8-15-centos ~]$ ls
test.txt
在当前路径下创建一个目录/文件夹
选项 | 作用 |
---|---|
-p | 创建一串路径 mkdir -p d1/d2/d3/d4 |
[hmy@VM-8-15-centos ~]$ mkdir dir //创建一个目录
[hmy@VM-8-15-centos ~]$ ls
dir test.txt
stat
命令用于显示文件或文件系统的详细信息,包括文件的权限、大小、创建时间、修改时间、访问时间等。stat
命令可以用于查看文件的元数据信息。
[hmy@VM-8-15-centos ~]$ stat myfile
File: ‘myfile’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 920921 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1002/ hmy) Gid: ( 1002/ hmy)
Access: 2023-11-23 13:00:17.903359201 +0800 //这是文件最后一次被访问的时间。每当文件被读取、执行或查询状态时,访问时间都会更新。
Modify: 2023-11-23 13:00:17.903359201 +0800 //这是文件内容最后一次被修改的时间。每当文件内容发生变化时,修改时间都会更新。
Change: 2023-11-23 13:00:17.903359201 +0800 //这是文件元数据(metadata)最后一次被修改的时间。元数据包括文件的权限、所有者、组等信息。当文件的权限或所有者发生变化时,改变时间会更新。
Birth: -
以树形结构显示目录内容的命令
[hmy@VM-8-15-centos ~]$ tree .
.
├── code
│ └── text.txt
├── dir
├── myfile
└── test.txt
2 directories, 3 files
进入一个路径
[hmy@VM-8-15-centos ~]$ cd dir
[hmy@VM-8-15-centos dir]$ pwd
/home/hmy/dir
cd ~ 进入当前用户的工作目录
cd - 跳转至上一次我所处的路径中
删除不为空的目录
删除文件
选项 | 作用 |
---|---|
-r | 递归删除(删除不为空的目录) |
-f | 强制删除,即使文件的权限设置为只读或者存在其他限制,也会被删除而不会产生提示。 |
-i | 表示交互式删除,即在删除文件之前会提示用户确认是否真的要删除。每次删除都会询问用户是否确定删除。 |
rm -rf * 删除该目录下所有
用于显示 Linux 系统中命令的手册页(manual pages)的命令
man ls; man pwd;
Executable programs or shell commands (可执行程序或 shell 命令): 包含用户可以运行的可执行程序或者 shell 命令的手册页。
System calls (functions provided by the kernel) (系统调用): 包含由操作系统内核提供的系统调用的手册页。
Library calls (functions within program libraries) (库调用): 包含程序库中的函数的手册页。
Special files (usually found in /dev) (特殊文件): 包含通常位于 /dev
目录下的特殊文件的手册页。
File formats and conventions eg /etc/passwd (文件格式和约定): 包含文件格式和约定的手册页,例如 /etc/passwd
。
Games (游戏): 包含游戏的手册页。
Miscellaneous (including macro packages and conventions) (其他): 包含各种杂项,包括宏包和约定的手册页。例如,man(7)
和 groff(7)
。
System administration commands (usually only for root) (系统管理命令): 包含通常仅供管理员用户(root)使用的系统管理命令的手册页。
Kernel routines [Non standard] (内核例程): 包含内核例程的手册页,这些通常是非标准的或特定于某些系统的。
man 1 ls
man 3 printf
复制文件或目录
选项 | 作用 |
---|---|
-r | 递归复制,用于复制目录及其内容。 |
-f | 表示强制复制,用于在复制文件或目录时不进行确认提示,即强制执行复制操作。如果目标文件已经存在,将会被覆盖 |
-n | 表示不覆盖已经存在的文件。如果目标文件已经存在,cp 命令将不会覆盖它,而是保留已存在的文件。 |
[hmy@VM-8-15-centos code]$ pwd
/home/hmy/code
[hmy@VM-8-15-centos code]$ cp hello.c /home/hmy
[hmy@VM-8-15-centos code]$ cd ..
[hmy@VM-8-15-centos ~]$ pwd
/home/hmy
[hmy@VM-8-15-centos ~]$ tree .
.
├── code
│ ├── hello.c
│ └── text.txt
├── dir
├── hello.c
├── myfile
└── test.txt
2 directories, 5 files
移动文件,重命名
用法 |
---|
mv 源目录 目标目录 |
mv 源文件 目标目录 |
mv 旧文件名 新文件名 (重命名) |
语法:cat [选项] [文件]
功能:查看目标文件内容
常用选项:
选项 | 作用 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
-s | 不输出多行空行 |
语法:more [选项] [文件]
功能:类似cat
常用选项
选项 | 作用 |
---|---|
q | 退出more |
-n | 对输出的所有行编号 |
-5 | 5行5行的显示 |
功能:
output.txt
的文件,并将文本写入该文件。会覆盖原文件内容)打开指定文件并显示其内容。你可以使用箭头键向上或向下滚动,空格键翻页,q
键退出:less file.txt
提取文件的前n行:head -n file.txt
head -1010 file.txt | tail -11
这个命令用于显示名为 file.txt
的文件的第1000到1010行。|
:这是一个管道符号,用于将 head
命令的输出重定向为下一个命令的输入。
提取文件的后n行:tail -n file.txt
显示或设置系统的日期和时间。
显示当前时间:date
自定义日期和时间格式:date +“%Y-%m-%d %H:%M:%S”(年,月,日,时,分,秒)
显示当前时间戳(从1970年1月1日起的秒数):
[hmy@VM-8-15-centos ~]$ date +%s
1701149753
时间戳转化成日期
[hmy@VM-8-15-centos ~]$ date +"%Y-%m-%d %H:%M:%S" -d @1701149753
2023-11-28 13:35:53
搜索
选项 | 作用 |
---|---|
-name | 按照文件名查找 |
[hmy@VM-8-15-centos ~]$ find ~ -name file.txt
/home/hmy/file.txt
在系统路径中,去查找特定的指令所在的路径
[hmy@VM-8-15-centos ~]$ which ls
alias ls='ls --color=auto'
/usr/bin/ls
给指令起别名
[hmy@VM-8-15-centos ~]$ alias zz='ls -al'
[hmy@VM-8-15-centos ~]$ zz
total 216
drwx------ 6 hmy hmy 4096 Nov 28 13:23 .
drwxr-xr-x. 5 root root 4096 Nov 21 17:19 ..
-rw------- 1 hmy hmy 4328 Nov 28 14:22 .bash_history
-rw-r--r-- 1 hmy hmy 18 Nov 25 2021 .bash_logout
-rw-r--r-- 1 hmy hmy 193 Nov 25 2021 .bash_profile
-rw-r--r-- 1 hmy hmy 231 Nov 25 2021 .bashrc
drwxrwxr-x 3 hmy hmy 4096 Nov 21 17:27 .cache
drwxrwxr-x 2 hmy hmy 4096 Nov 23 14:27 code
drwxrwxr-x 3 hmy hmy 4096 Nov 21 17:27 .config
drwxrwxr-x 2 hmy hmy 4096 Nov 23 13:55 dir
-rw-rw-r-- 1 hmy hmy 148906 Nov 28 13:16 file.txt
-rw-rw-r-- 1 hmy hmy 73 Nov 23 14:35 hello.c
-rw-rw-r-- 1 hmy hmy 0 Nov 23 13:00 myfile
-rw-rw-r-- 1 hmy hmy 2 Nov 28 12:06 test2.txt
-rw-rw-r-- 1 hmy hmy 4 Nov 28 12:03 test.txt
-rw-rw-r-- 1 hmy hmy 9284 Nov 28 13:23 tmp.txt
行文本过滤器
选项 | 作用 |
---|---|
-n | 显示原文本中该关键字出现的行号 |
-v | 反向搜索,grep -v “888” file.txt 把包含888的行去掉 |
-i | 查找时忽略大小写 |
grep选项中,-E选项可以用来扩展选项为正则表达式;
`$`表示匹配文件末尾,字符需要在`$`之前表示以字符结尾 `a$`表示以a结尾 grep -E a$ try_grep
^
表示匹配文件起始,字符需要在^
之后表示以字符起始 ^a
表示以a起始 grep -E ^a try_grep
[hmy@VM-8-15-centos ~]$ grep "888" file.txt
hello bit 888
hello bit 1888
hello bit 2888
命令行参数
[hmy@VM-8-15-centos ~]$ echo "-a -l" | xargs ls
total 216
drwx------ 6 hmy hmy 4096 Nov 28 14:26 .
drwxr-xr-x. 5 root root 4096 Nov 21 17:19 ..
-rw------- 1 hmy hmy 4548 Nov 28 14:37 .bash_history
-rw-r--r-- 1 hmy hmy 18 Nov 25 2021 .bash_logout
-rw-r--r-- 1 hmy hmy 193 Nov 25 2021 .bash_profile
-rw-r--r-- 1 hmy hmy 231 Nov 25 2021 .bashrc
drwxrwxr-x 3 hmy hmy 4096 Nov 21 17:27 .cache
drwxrwxr-x 2 hmy hmy 4096 Nov 23 14:27 code
drwxrwxr-x 3 hmy hmy 4096 Nov 21 17:27 .config
drwxrwxr-x 2 hmy hmy 4096 Nov 23 13:55 dir
-rw-rw-r-- 1 hmy hmy 148906 Nov 28 13:16 file.txt
-rw-rw-r-- 1 hmy hmy 73 Nov 23 14:35 hello.c
-rw-rw-r-- 1 hmy hmy 0 Nov 23 13:00 myfile
-rw-rw-r-- 1 hmy hmy 2 Nov 28 12:06 test2.txt
-rw-rw-r-- 1 hmy hmy 4 Nov 28 12:03 test.txt
-rw-rw-r-- 1 hmy hmy 9284 Nov 28 13:23 tmp.txt
压缩和解压
[hmy@VM-8-15-centos ~]$ zip -r project.zip project
[hmy@VM-8-15-centos dir]$ unzip project.zip
[hmy@VM-8-15-centos dir]$ unzip project.zip -d /home/hmy 解压到特定路径
压缩和解压
[hmy@VM-8-15-centos ~]$ tar -czvf project.tgz project 压缩
[hmy@VM-8-15-centos ~]$ tar -xzvf project.tgz project 解压到project目录
[hmy@VM-8-15-centos ~]$ tar -xzvf project.tgz -C /home/hmy 解压到特定路径
计算
[hmy@VM-8-15-centos ~]$ echo "1+2*4" | bc
9
查看Linux的体系结构和内核版本
[hmy@VM-8-15-centos ~]$ uname -a 查看所有
Linux VM-8-15-centos 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
[hmy@VM-8-15-centos ~]$ uname -r 查看内核版本
3.10.0-1160.92.1.el7.x86_64
查看文件信息
[hmy@VM-8-15-centos lesson6]$ stat mytest
File: ‘mytest’
Size: 8360 Blocks: 24 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 1188988 Links: 1
Access: (0775/-rwxrwxr-x) Uid: ( 1002/ hmy) Gid: ( 1002/ hmy)
Access: 2024-01-05 17:14:25.241678545 +0800 //文件最近访问时间
Modify: 2024-01-05 17:14:23.872683572 +0800 //文件最近内容修改时间
Change: 2024-01-05 17:14:23.872683572 +0800 //文件最近属性修改时间
Birth: -
Linux下是有隐藏文件的! Linux下隐藏文件/目录(文件夹)的方式,可以让文件以 . 开头。
隐藏文件的基本用途:可以用来进行隐藏一些配置文件
每个文件里都会有这两个隐藏文件 ’ . ’ 和 ’ … ’
[hmy@VM-8-15-centos code]$ ls -a -l
total 8
drwxrwxr-x 2 hmy hmy 4096 Nov 22 22:51 . //表示当前路径(可以限定我们要执行的可执行程序在什么位置)
//cd . 进入当前路径
drwx------ 6 hmy hmy 4096 Nov 22 22:47 .. //表示直接上级路径(帮助我们进行路径切换)
//cd .. 进入上级路径
-rw-rw-r-- 1 hmy hmy 0 Nov 22 22:51 text.txt
Linux的整个目录结构,本质上是一颗多叉树结构
对于普通用户而言:/home/xxx:就叫做xxx这个用户的家目录(工作目录)~
对于root用户而言:/root
*
是通配符
>
是输出重定向
>>
是追加重定向
<
是输入重定向
|
管道
head -1010 file.txt | tail -11
这个命令用于显示名为 file.txt
的文件的第1000到1010行。Linux的整个目录结构,本质上是一颗多叉树结构
[外链图片转存中…(img-8u7qqP7J-1705597556103)]
对于普通用户而言:/home/xxx:就叫做xxx这个用户的家目录(工作目录)~
对于root用户而言:/root
*
是通配符
>
是输出重定向
>>
是追加重定向
<
是输入重定向
|
管道
head -1010 file.txt | tail -11
这个命令用于显示名为 file.txt
的文件的第1000到1010行。