Linux命令:基础命令
cd 命令
cd (change directory)命令:用来切换目录地址
语法:cd [dirname]
命令 | 含义 |
---|---|
cd | 默认切换到root目录 |
cd / | 切换到根目录 |
cd … | 返回上一级目录 |
cd - | 返回上次所在的目录 |
cd [directory] | 切换到指定目录,如果指定的目录不在当然路径下,需要加入目录的全路径 |
如果确实不知道目录的地址,可以通过find 命令查找,如下:
ls 命令
ls(list) 命令:显示目录内容
语法:`ls [option]
参数 | 含义 |
---|---|
-l | 使用详细格式列表显示目录内容 |
-a | 显示所有文件和目录,包括以’ . '开头的隐藏文件 |
-A | 显示所有文件和目录,不包括以’ . '开头的隐藏文件 |
-R | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-r | 反向排序 |
-t | 按时间信息排序 |
-S | 按文件和目录的大小排序 |
-s | 显示文件和目录的大小 |
-h | 用“K”、“M”、“G”来显示文件和目录的大小 |
-C | 以右上之下,从左到右的直行方式显示文件和目录名称 |
-d | 显示目录名称而非内容 |
-l | 使用详细格式列表显示目录内容 |
-m | 用“,”号分割每个文件和目录的名称 |
–full-time | 列出完整的日期与时间 |
示例:ls 命令可以 跟 -l 命令组合使用
[root@localhost ~]# ll -Sh
总用量 56K
-rw-r--r--. 1 root root 16K 1月 11 23:25 centos7_2024-01-11_19-33-04.log
-rw-r--r--. 1 root root 14K 1月 10 23:26 centos7_2024-01-10_22-09-50.log
-rw-r--r--. 1 root root 14K 10月 24 22:44 mysql80-community-release-el7-11.noarch.rpm
-rw-------. 1 root root 1.4K 1月 13 21:22 anaconda-ks.cfg
-rw-r--r--. 1 root root 702 1月 14 22:25 centos7_2024-01-14_12-03-10.log
drwxr-xr-x. 4 root root 30 3月 14 23:18 test1
echo 命令
功能:用于将文本内容或变量内容输出到终端或文件中。
语法:echo [option] [string]
参数:
参数 | 含义 |
---|---|
-n | 不输出行位的换行符 |
-e | 允许使用转义字符 |
-E | 不允许使用转义字符 |
输出字符串到终端
# 输出字符串到终端
[root@localhost test]# echo "Hello Word"
Hello Word
输出变量内容到终端
# 指定变量name
[root@localhost ~]# name="linux"
# 在变量前面加入 $ 符号,就可以引用变量的内容了
[root@localhost ~]# echo $name
linux
# 在内容加上 `` 反应号,说明这个是一个命令参数,最终打印的是命令输出的结果
[root@localhost ~]# dates=`date`
[root@localhost ~]# echo "Today is $dates"
Today is 2024年 03月 25日 星期一 23:14:04 CST
输出转义字符
参数:
参数 | 含义 |
---|---|
\n | 换行符 |
\t | 水平制表符 |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\b | 回退符,回退一格字符 |
\c | 终止符,参数在哪里就在哪里终止打印 |
\\ | 反斜线 |
\" | 双引号 |
\’ | 单引号 |
# \n
[root@localhost ~]# echo -e "Hello\nWord!"
Hello
Word!
# \t 相当tab
[root@localhost ~]# echo -e "\tHello\nWord!"
Hello
Word!
# \r 打印内容且删除之前的内容
[root@localhost ~]# echo -e "HelloWord\rExecuting!"
Executing!
# \" 将引号也打印出来
[root@localhost ~]# echo "Today is \"good\" "
Today is "good"
将文本内容重定向到文本中
示例:
# 覆盖写入
echo "Thisi is new file" > b.txt
# 追加
echo "Add a content" >> b.txt
Linux 命令:查找文件及路径
find 命令
find 命令:查找文件或目录
语法:find [option] [dirname or filename] [option]
参数 | 含义 |
---|---|
-name <范本样式> | 指定字符串作为寻找文件或目录 |
-amin <分钟> | 查找在指定时间曾被存取的文件或目录,单位以分钟计算 |
-anewer <参考文件或目录> | 查找存取时间比较指定文件或目录的修改时间更接近现在文件或目录 |
-atime <24小时数> | 查找在指定时间曾存取过的文件或目录,单位以24小时计算 |
-cmin | 查找在指定时间之时状态被更改过的文件或目录,单位以分钟计算 |
-cnewer | 查找更改时间比较指定文件或目录的修改时间更接近现在文件或目录的状态 |
-ctime <24小时数> | 查找在指定时间状态曾更改过的文件或目录,单位以24小时计算 |
-mmin | 查找在指定时间之时数据被更改过的文件或目录,单位以分钟计算 |
-mnewer | 查找更改时间比较指定文件数据或目录数据的修改时间更接近现在的文件或目录的 |
-mtime <24小时数> | 查找在指定时间内数据曾更改过的文件或目录,单位以24小时计算 |
-size <文件大小> | 查找符合指定文件大小的文件 |
-type <文件类型> | 查找符合指定文件类型的文件,类型可取值: b 特殊块文件(缓冲的) c 特殊字符文件(不缓冲)``d 目录 p 命名管道 (FIFO) f 普通文件 l 符号链接 s 套接字 |
例如:在跟目录下全局查找 文件名称为 test 的文件,条件:文件大小为 1M(1兆)
pwd 命令
pwd 命令:显示当前目录的全路径
[root@localhost test]# pwd
/root/test
which 命令
功能:查找可执行文件
语法:which [filename]
备注:which指令会在环境变量$PATH设置的目录里查找符合条件的文件
[root@localhost test]# which cat
/usr/bin/cat
[root@localhost test]# which pwd
/usr/bin/pwd
[root@localhost test]# which yum
/usr/bin/yum
whereis 命令
功能:查找文件
语法:whereis [option] [file]
备注:whereis 命令会在特定目录中查找符合条件的文件。用于定位可执行文件,源码,二进制文件等。
参数:
参数 | 含义 |
---|---|
-b | 只查找二进制文件 |
-B <目录> | 只在特定的目录下查找二进制文件 |
-m | 定位帮助文件 |
-s | 定位源代码文件 |
-M | 只在特定的目录下查找帮组文件 |
-S | 只在特定的目录下查找源代码文件 |
-u | 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件 |
# 查找出所有关于cd命令的文件
[root@localhost test]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
# 查找二进制文件
[root@localhost test]# whereis -b cd
cd: /usr/bin/cd
# 查找源代码文件
[root@localhost test]# whereis -s cd
cd:
# 查找关于cd的帮助文件
[root@localhost test]# whereis -m cd
cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
Linux 命令:查看文件内容
cat 命令
cat 命令:查看文件内容
语法:cat [option] [filename]
参数 | 含义 |
---|---|
-n or --number | 由1开始对所有输出的内容进行行数编号 |
-b or --number-nonblank | 和-n相似,只不过对于空白行不编号 |
-s or -squeeze-blank | 当遇到有连续两行以上的空白行,就代换为一行的空白行 |
例:
tail 命令
tail 命令:输出文件末尾部分,默认最后10行
语法:tail [option] [filename]
参数 | 含义 |
---|---|
-n | 输出最后n行,而非默认的最后10行 |
-f | 实时跟踪文件结尾内容变化,有增加内容,就打印出来 |
例:
head命令
作用:输出文件开始的内容
语法:head [option] [filename]
注意:在不添加指定行数的情况下,head默认输出前10行,如果有多个文件,则一个一个文件的显示,并且在开头显示文件的名称
参数:
参数 | 含义 |
---|---|
-n | 指定显示文件内容前N行 |
[root@localhost ~]# head -1 anaconda-ks.cfg # 指定显示文件的第一行,不加参数就默认显示10行
#version=DEVEL
Linux命令:文件管理
mkdir 命令
mkdir(make directory) 命令:用来创建目录使用
语法:mkdir [option] [dirname]
参数 | 含义 |
---|---|
-p | 如果目录存在,则不创建,反之则创建 |
-v | 显示创建后的反馈信息 |
例:
可以通过 -p
参数创建多层目录
touch 命令
touch 命令:用来创建文件(任意格式的文件都可以创建)
语法:touch [option] [filename]
参数 | 含义 |
---|---|
-a | 如果文件已存在,只更改访问时间,不会对文件内容产生任何影响 |
-c | 不创建任何文件 |
-m | 如果文件已存在,只更改修改时间,不会对文件内容产生任何影响 |
例:-a 和 -m 可能会用到,-c 一般用不到。
cp 命令
cp(copy)命令:复制文件和目录
语法:cp [option] [原文件地址及文件] [目标地址及文件]
参数 | 含义 |
---|---|
-f | 如果需要,删除目的地已存在文件(仅限相同名称的文件) |
-i | 提示是否覆盖现已有的普通文件(仅限相同名称的文件) |
-p | 保留源文件的所有者、组、权限,以及上次修改的时间和上次访问时间 |
-r | 递归复制目录,将该目录下的所有目录和文件都复制 |
例:
mv 命令
mv(move)命令:移动(改名)文件
语法:
改名:
mv [option] [filename] [newfilename]
移动:
mv [option] [原文件地址及文件] [目标地址及文件]
参数 | 含义 |
---|---|
-b or --backup | 若需要覆盖文件,则覆盖前先行备份 |
-f | 若目标文件或目录与现有的文件或目录重复,则直接覆盖 |
-i | 覆盖前先行询问用户 |
-v | 执行时显示详细的信息 |
例:
rm 命令
作用:删除文件或目录
语法:rm [option] [dirname or filename]
描述:rm 移除给定的文件,默认情况下它不能移除目录,但是当给定 -r 或者 -R 选项时,指定目录下的文件及目录都会被删除。
参数:
参数 | 含义 |
---|---|
-f | 强制删除文件 |
-i | 作出是否要删除文件提醒 |
-r | 递归删除目录及目录下的所有文件 |
示例:
[root@localhost test]# rm 1.txt # 不添加任何参数删除文件时,会默认提醒你是否确认要删除
rm:是否删除普通文件 "1.txt"?
[root@localhost test]# rm -f 1.txt # 加上-f参数时,直接强制删除,不提醒你是否要删除
[root@localhost ~]# rm -r test # 加上 -r 参数后,会提示进入目录,然后挨个确认是否要删除文件,到最后删除目录。
rm:是否进入目录"test"? y
rm:是否删除普通文件 "test/2.txt"?n
rm:是否删除普通文件 "test/anaconda-ks.cfg"?n
rm:是否删除普通文件 "test/1.txtn"?n
rm:是否删除普通文件 "test/test.sh"?n
rm:是否删除目录 "test"?n
[root@localhost ~]# rm -rf test # 强制删除目录及目录下的文件,且不提醒,该操作尽量不要使用,风险较高 !!!!!