家目录
每个用户账户的专用目录。家目录的概念为用户提供了一个独立的工作空间,它是用户在文件系统中的主要工作区域,包含了用户的个人文件、配置文件和其他数据。
家目录通常位于 /home/用户名
路径下。例如,如果用户名为 1
,那么家目录就是 /home/1
。
通配符与正则表达式
一句话概括:
通配符一般用于文件名匹配。
正则表达式一般用于匹配文件内容。
正则表达式:使用特定的语法来表示匹配模式,如 .
表示匹配任意字符,*
表示匹配前一个字符的零个或多个实例,+
表示匹配一个或多个实例,?
表示匹配零个或一个实例等。
通配符:使用*
表示匹配零个或多个字符,?
表示匹配任意单个字符,#
表示匹配任意单个数字等。
内部命令与外部命令
内部命令:由shell直接执行,速度快,资源占用少,但功能相对有限。
常见的内部命令包括cd
(更改目录)、pwd
(显示当前目录)、echo
(输出文本)等。
外部命令:通过调用外部程序执行,速度相对较慢,资源占用较多,但功能更加强大和灵活。
常见的外部命令包括ls
(列出目录内容)、cp
(复制文件)、rm
(删除文件)等。
alias
alias 命令用于设置指令的别名,用户可利用 alias,自定指令的别名,别名不要使用已经有的命令
命令格式:alias 自定义命令别名=‘命令’
alias A='B' 将B别名为A
unalias 命令别名 //删除别名
\ 命令别名 //临时取消别名 (临时使用原来的命令)
du
du命令用于查看当前所在文件夹占用了磁盘的多少单元块。 默认1单元块为4k,不满4k,按4K算。
du和ls的区别:ls -l显示文件真实大小,du显示的是文件在磁盘中的占用,即使文件大小不到4k时,du显示的文件磁盘占用依然是4k。
mkdir
创建文件夹
mkdir a b c //创建 /a 和/b 和/c (分别创建多个文件夹)
mkdir -p a/b/c //创建 /a/b/c (递归/依次创建文件夹)
mkdir -p /test0/ {test1,test2,test3} /{a1,a2,a3}
//先建立test0文件夹,然后在test文件夹下,依次创建test1 test2和test3文件夹,之后在test1 test2 test3三个文件夹下,分别建立a1 a2 a3 文件夹
touch
touch命令用于创建空文件 ,如果是重复文件,会刷新文件时间
命令格式:touch 文件名
cp
cp(copy file)命令主要用于复制文件或目录。
cp /etc/passwd /mnt/test //passwd复制到mnt下并改名test
" . "和" . . "
.
表示当前目录
..
表示上一级目录
pwd
Linux 中的一个常用命令,用于显示当前工作目录的完整路径
$ pwd
/home/user/documents
pwd
命令显示当前工作目录的完整路径为 /home/user/documents
rm
rm
是 Linux 中的一个常用命令,用于删除文件或目录。
-r
或 -R
:递归删除目录及其内容。如果指定的参数是一个目录,-r
或 -R
选项会删除该目录及其所有子目录和文件。
-f
:强制删除,不提示确认。即使文件被锁定或设置为只读,-f
选项也会强制删除文件。
-i
:交互式删除,删除前提示确认。每次删除文件或目录时,都会提示用户确认。
-v
:显示详细信息,显示正在删除的文件或目录。
rm -rf directory
在这个例子中,rm -rf
命令会递归地删除名为 directory
的目录及其所有子目录和文件,且不进行任何确认。
使用 rm
命令时要非常小心,因为它会永久删除文件或目录,无法恢复。删除重要文件或目录前,最好先备份数据。使用 -i
选项可以在删除前进行确认,避免误删文件。
mv
mv file.txt newfile.txt
which
命令是用于查找可执行文件(如二进制文件、脚本等)的完整路径的实用程序
注:which
命令只查找环境变量 $PATH
中定义的目录。如果一个可执行文件不在 $PATH
中,which
命令将无法找到它。
find
find 命令用于在指定目录下查找文件名,可以使用不同的选项来过滤和限制查找的结果。
find 查找范围 [查找选项]... [查找条件] [处理动作]
查找路径:指定具体目标路径;不指定为默认为当前目录
查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
管道符
管道符 “丨” 可以将一个命令的输出直接作为另一个命令的输入,从而实现命令之间的数据流处理。这种机制使得你可以轻松地组合多个命令来完成复杂的任务。
cat filename.txt | grep "hello"
使用 grep
命令结合管道符查找包含 "hello" 的文件:
cat filename.txt
命令的输出被传递给 grep "hello"
命令,后者会筛选出包含 "hello" 的行。
处理动作
-delete 删除
-ls 显示详细信息
-exec
-ok
例:
find /var/log -mtime +30 -name '*log' -type f -delete
找出 /var/log 下 大于30天 以log结尾的普通文件 并删除
find /data/ -name '*.txt' -exec mv {} {}.bak \;
将/data下所有的.txt 文件 加上.bak后缀
find /var/log -size +1G -type f -name '*log' -mtime +30 -exec mv {} /opt \;
找到/var/log下30天以前大于1G以log结尾的普通文件,并将文件移动到/opt下