Linux是一个强大的操作系统,它提供了许多常用的命令行工具,可以帮助我们用于管理文件、目录、进程、网络和系统配置等。以下是一些常用的Linux命令:
1、cd:切换当前目录
它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
cd /root/
cd ./file/
2、ls:查看文件与目录
ls -l # 以长数据串的形式列出当前目录下的数据文件和目录
ls -al # 以长数据串的形式列出当前目录下的数据文件和目录及隐藏文件(常用)
3、pwd:显示当前工作目录的路径
pwd
4、mkdir:创建新目录
mkdir directory_name
5、 rmdir:删除空目录
rmdir directory_name
6、rm:删除文件或目录
rm -f file_name #强制删除,不提示
rm -r directory_name # 递归删除目录及其内容
7、cp:复制文件或目录
cp source_file destination
cp -r source_directory destination # 递归复制目录及其内容
8、mv:移动或重命名文件或目录
mv old_name new_name
9、touch:创建空文件或更新文件的时间戳
该命令的主要功能是更改文件的访问和修改时间戳。如果文件不存在,touch 会创建一个新的空文件。
touch existingfile.txt #将 existingfile.txt 的访问和修改时间更新为当前时间,如果existingfile.txt不存在,则创建名为existingfile.txt的空文件
touch -a -t 202311101230 existingfile.txt #-a 仅更新访问时间,通过-t选项后面跟上时间戳的值来设置特定的时间戳
touch -m -t 202311101230 existingfile.txt #-m 仅更新修改时间
10、vim:编辑文件
该命令主要用于文本编辑,它接一个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。
vim demo.txt # 编辑demo.txt文件
11、cat:查看文件的内容或将多个文件合并输出
cat file1.txt #查看文件file1.txt的内容
cat file1.txt file2.txt #将多个文件的内容合并输出
12、find:在目录中查找文件
find /home/ -name test.c #查找/ home目录下的所有文件,名称为test.c
13、ln:创建硬链接或符号链接
软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
ln source_file link_name # 创建硬链接
ln -s source_file link_name # 创建符号链接
ln -sf source_file link_name # 创建符号链接,-f强制覆盖已存在的目标文件
rm -rf link_name #删除链接
14、chmod:修改文件或目录的权限
Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)如下:
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式)或符号模式指定文件的权限,而使用权限则为所有使用者。
符号模式与绝对模式的关系如下:
chmod 755 file//表示User、Group、及Other的权限分别为rwx,rx,rx
chmod ugo+r file//与a+r的相同,表示给所有用户加上可读权限,+表示为指定的用户类型增加权限
15、tar:用于压缩和解压文件和目录
tar -czvf archive.tar.gz directory_name # 使用gzip压缩方式(.tar.gz)压缩目录
tar -xzvf archive.tar.gz # 解压文件
16、 zip/unzip:用于压缩和解压ZIP文件
zip archive.zip file1 file2 # 压缩文件
zip -r archive dir/ #压缩文件, archive 是新建存档的名称,dir/ 是要压缩的目录
unzip archive.zip # 解压ZIP文件
17、df/du:显示磁盘使用情况
df -h # 显示磁盘空间使用情况
du -h --max-depth=1 ./ # 显示当前目录的磁盘使用情况
18、grep:在文件中搜索指定文本
grep (global search regular expression and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep "abc" a.log
如果需要匹配压缩文件里面的内容则需要用zgrep。
zgrep "abc" a.gz
如果递归查找子目录,则需要加上-r。
grep "abc" a/* -r
19、sed:流编辑器,用于文本处理和替换
sed 's/old_text/new_text/' file_name #用new_text替换所有匹配的old_text字符串,sed默认不会直接修改源文件的数据,而是会将数据复制到缓冲区中,在缓冲区中修改数据
sed -i '/set_units/d' file_name #删除file_name中set_units存在的行-i[扩展名], 直接修改文件(如果指定扩展名就备份文件)
20、awk:用于文本处理和数据提取的文本处理工具
awk 的强大之处在于脚本命令,它由 2 部分组成,分别为匹配规则和执行命令,如下所示:
'匹配规则{执行命令}'
整个脚本命令是用单引号(‘’)括起,而其中的执行命令部分需要用大括号({})括起来
awk '/^$/ {print "Blank line"}' test.txt #/^$/ 是一个正则表达式,功能是匹配文本中的空白行,同时可以看到,执行命令使用的是 print 命令,将指定的文本进行输出。因此,整个命令的功能是,如果 test.txt 有 N 个空白行,那么执行此命令会输出 N 个 Blank line。
grep,sed和awk都是读一行处理一行,直到处理完成。
21、evince:打开PDF文件
evince pdf_name
22、soffice:Linux中打开office
soffice check.xlsx
23、date:显示或设置系统日期和时间
date
24、echo:将文本输出到标准输出
echo "Hello, World!"
25、history:查看命令历史记录
history