Linux的基本命令
Linux指令是Linux操作系统的核心组成部分,它们为用户和管理员提供了与系统进行交互和管理的强大工具。这些指令涵盖了从基本的文件操作到复杂的系统配置和管理的各个方面。
ls指令
- 功能:用于列出指定目录中的文件和子目录名称。
- 语法:ls [选项][目录或文件]
- 常用选项:
- a:列出目录下的所有文件,包括以.开头的隐含文件。
- d:将目录像文件一样显示,而不是显示其下的文件。
- i:输出文件的i节点的索引信息。
- k:以k字节的形式表示文件的大小。
- t:以时间排序。
- s:在文件名后输出该文件的大小。
pwd指令
- 功能:显示用户在哪个目录下(绝对路径)。
- 语法:直接输入pwd即可。
cd指令
- 功能:用于更改当前工作目录。
- 语法:cd [目录名称]
- 使用方法:cd后面可以加绝对路径也可以加相对路径。
mkdir指令
- 功能:用于创建一个新目录。
- 语法:mkdir [目录名称]
mv指令
- 功能:用于将一个文件从一个目录移动到另一个目录,也可以用于对文件进行重命名。
cp指令
- 功能:用于复制文件或目录。
- 语法:cp [选项] 源文件或目录 目标文件或目录
- 示例:cp file1.txt file2.txt 将file1.txt复制为file2.txt。
rm指令
- 功能:用于删除文件或目录。
- 语法:rm [选项] 文件或目录
- 示例:rm file.txt 删除file.txt文件。
注意:使用rm删除目录时,需要加上-r(递归删除)选项。
-f force 强制删除
-r recursive 递归处理,指定目录下的所有文件及子目录一并删除rm 删除文件(有安全删除的校验,可以取消)
rm -rf 强制删除文件夹及其内容
rm -rf * 删除当前目录下的所有内容
touch指令
- 功能:用于创建空文件或更新文件的时间戳。
- 语法:touch [选项] 文件名
- 示例:touch newfile.txt 创建一个名为newfile.txt的空文件。
cat指令
- 功能:用于查看文件内容,也可以将多个文件的内容合并输出。
- 语法:cat [选项] 文件名
- 示例:cat file.txt 查看file.txt文件的内容。
more和less指令
- 功能:用于分页显示文本文件的内容。
- 语法:more 文件名 或 less 文件名
- 使用方法:通过空格键翻页,按q键退出查看。
head和tail指令
- 功能:用于查看文件的开头或结尾部分内容。
- 语法:head [选项] 文件名 或 tail [选项] 文件名
- 示例:head -n 10 file.txt 查看file.txt文件的前10行。
chmod指令
- 功能:用于改变文件或目录的权限。
- 语法:chmod [选项] 权限 文件或目录
- 示例:chmod 755 script.sh 将script.sh的权限设置为755。
chown指令
- 功能:用于改变文件或目录的所有者和所属组。
- 语法:chown [选项] 所有者:所属组 文件或目录
- 示例:chown john:users file.txt 将file.txt的所有者改为john,所属组改为users。
df和du指令
- 功能:用于查看磁盘空间使用情况。
- df:显示磁盘分区上的可用和已使用的空间。
- du:估算和显示文件或目录的磁盘使用情况。
tar指令
- 功能:用于打包和解包文件。
- 语法:tar [选项] 打包文件名 文件或目录
- 示例:tar -czvf archive.tar.gz dir1 dir2 将dir1和dir2目录打包为archive.tar.gz。
常用的组合命令:
-z 是否需要用gzip压缩。
-c 建立一个压缩文件的参数指令(create) –压缩
-x 解开一个压缩文件的参数指令(extract) –解压
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在f之后要立即接档中(file) 常用解压参数组合:zxvf 常用压缩参数组合:zcvf
- 解压命令:
tar -zxvf redis-3.2.8.tar.gz ;#解压到当前文件夹
tar -zxvf redis-3.2.8.tar.gz -C /opt/java/ ;解压到指定目录
- 压缩命令:
tar -zcvf redis-3.2.8.tar.gz redis-3.2.8/ #语法 tar -zcvf 压缩后的名称 要压缩的 文件
tar -zcvf # 压缩后的文件(可指定目录) 要压缩的文件(可指定目录)
tail 指令
基本用法
显示文件的最后几行默认情况下,tail 会显示文件的最后 10 行。
tail filename
显示文件的最后 N 行
使用 -n 选项和指定的行数来显示文件的最后 N 行。tail -n 20 filename #显示 filename 文件的最后 20 行。
常用选项
实时查看文件内容
使用 -f 选项,tail 可以实时查看文件内容,通常用于查看正在被写入的日志文件。tail -f logfile.log #当 logfile.log 文件有新的内容添加时,这些内容会立即显示在终端上。
一次查看多个文件的尾部内容。
tail file1.txt file2.txt
显示文件名
使用 -v 选项可以在输出中包含文件名。
tail -v file1.txt file2.txt
从文件的第 N 行开始显示
使用 +N 语法可以从文件的第 N 行开始显示内容。tail +20 filename #从 filename 文件的第 20 行开始显示内容。
显示多个文件的公共行
使用 -q 选项可以抑制多个文件之间的非打印字符的显示,使得输出更加整洁。
示例
假设你有一个名为 access.log 的日志文件,你可以这样使用 tail 命令:查看文件的最后 20 行:
tail -n 20 access.log
实时查看日志文件的更新:
tail -f access.log
grep指令
- 功能:在文件中搜索匹配指定模式的行,并将这些行打印出来。
- 语法:grep [选项] 模式 文件名
- 示例:grep “error” log.txt 在log.txt文件中搜索包含"error"的行。
ps指令
功能:用于显示当前进程的状态。
语法:ps [选项]
示例:ps -ef 显示所有进程的详细信息。
kill指令
- 功能:用于终止指定进程的执行。
- 语法:kill [选项] 进程ID
- 示例:kill -9 1234 终止进程ID为1234的进程。
top和htop指令
- 功能:用于实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
- 语法:直接输入top或htop即可。
chmod指令的符号模式
- 功能:改变文件或目录的权限。除了使用数字模式外,还可以使用符号模式。
- 语法:chmod [u|g|o|a][+|-|=][r|w|x] 文件或目录
- 示例:chmod u+x script.sh 给script.sh文件的所有者增加执行权限。
ln指令
- 功能:用于创建硬链接或符号链接(也称为快捷方式)。
- 语法:ln [选项] 源文件或目录 目标文件或目录
- 示例:ln -s /path/to/source /path/to/link 创建一个指向源文件的符号链接。
history指令
- 功能:显示最近执行过的命令历史记录。
- 语法:直接输入history即可。
find指令的高级用法
find 是 Linux 和其他类 Unix系统中非常强大的一个命令,用于在目录树中查找文件和目录。你可以使用各种选项和表达式来精确地指定你要查找什么。
- 基于时间的查找:
-ctime n:查找在系统中创建了n*24小时前的文件。
-mtime n:查找在系统中修改了n*24小时前的文件。
-atime n:查找在系统中访问了n*24小时前的文件。
- 基于大小的查找:
+n:表示大于n。
-n:表示小于n。
n:表示等于n。
示例:find / -size +10M 查找大于10M的文件。
- find 查找指定文件或者目录
find -name 文件名,当前目录下查找文件
find / -name 全局查找文件
find -name
- 查找文件
find . -name example.txt #查找当前目录及其子目录中名为 example.txt 的文件:
- 查找目录
find . -type d -name mydir #查找名为 mydir 的目录:
- 按大小查找
find . -type f -size +1M #查找大于 1M 的文件:
- 按修改时间查找
find . -type f -mtime -7 #查找最近 7 天内修改过的文件:
- 按权限查找
find . -type f -perm -002 #查找所有用户都有写权限的文件:
- 执行命令:
对找到的每个文件执行某个命令,例如删除所有 .tmp 文件:
find . -name "*.tmp" -exec rm {} \;
或者使用 xargs:
find . -name "*.tmp" | xargs rm
忽略某些目录:
find . -path ./backup -prune -o -print #查找文件,但忽略名为 backup 的目录:
查找并执行多个条件:
find . \( -name example.txt -o -name sample.txt \) #查找名为 example.txt 或 sample.txt 的文件:
按所有者查找:
find . -user john #查找属于 john 的文件
查找空文件或目录:
find . -type f -empty #查找空文件
查找空目录:
find . -type d -empty
使用逻辑操作符:
find . ! -type d ! -type l #查找既不是目录也不是符号链接的文件
ps指令
进程状态查看
常用组合:
ps -ef 标准的格式查看系统进程 ps -aux BSD格式查看系统进程 ps -aux|grep redis BSD格式查看进程名称带有redis的系统进程(常用技巧)
inconfig指令
- 用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。
注意:如果此命令输入无效,先输入yum -y install net-tools
free指令 显示系统内存
#显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。
-b 以Byte显示内存使用情况
-k 以kb为单位显示内存使用情况
-m 以mb为单位显示内存使用情况
-g 以gb为单位显示内存使用情况
-s<间隔秒数> 持续显示内存
-t 显示内存使用总合
简单指令
- clear 指令清屏操作
- ping (用于检测与目标的连通性)语法:ping ip地址
- netstat 显示网络状态
- file 文件名 查看文件类型
- reboot重启虚拟机
- halt 关闭虚拟机
- shutdown -h now 强制关闭
- date查看时间
top 指令
显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等
-c 显示完整的进程命令
-s 保密模式
-p <进程号> 指定进程显示
-n <次数>循环显示次数
Linux指令是Linux操作系统的核心组成部分,它们为用户和管理员提供了强大的工具来与系统进行交互和管理。通过学习和掌握这些指令,用户可以充分发挥Linux系统的潜力,实现高效、灵活和安全的系统管理。