Linux常用命令

一、目录操作

1. 显示目录

ls -- 列举出当前工作目录的内容(文件或文件夹)
ls -a  // 列出目录所有文件,包含以.开始的隐藏文件
ls -A  // 列出除.及..的其它文件
ls -r  // 反序排列
ls -t  // 以文件修改时间排序
ls -S  // 以文件大小排序
ls -h  // 以易读大小显示
ls -l  // 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来 (即ll命令)

pwd  // 查看工作路径
pwd -P  // 查看软链接的实际路径

2. 切换路径

cd [目录名] -- 切换文件路径,cd 将给定的文件夹(或目录)设置成当前工作目录

cd /  // 进入根目录
cd ~  // 进入当前用户的home目录
cd -  // 进入上一次工作路径
cd !$  // 把上个命令的参数作为cd参数使用

二、文件夹操作

1. 创建文件夹

mkdir [目录名]

-m: 对新建目录设置存取权限,也可以用 chmod 命令设置
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录

mkdir xxx     // 创建文件夹xxx
mkdir a1 a2 a3     // 批量创建文件夹 a1、文件夹 a2、文件夹 a3
mkdir -p b1/b2/b3     // 连续创建文件夹 b1、文件夹 b2、文件夹 b3

2. 移动、复制与删除

mv 目录 目录    // 后者存在则移动,不存在则重命名前者
mv /usr/* .    // 将/usr下的所有文件和目录移到当前目录下

cp –r test/ newtest    // 将当前目录test/下的所有文件复制到新目录newtest下
-i 提示
-r 复制目录及目录内所有项目
-a 复制的文件与原文件时间一样

rmdir [-p] dirName
-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除

三、文件操作

1. 创建文件

touc命令用于修改文件的时间戳,用摸一下来理解,当文件不存在时也会创建文件
touch Test.ini  // 创建一个空文件
touch test1.txt test2.txt  // 同时创建两个文件
touch test{0001..2000}.txt  // 批量创建文件(如创建2000个文件)
touch Test.ini  // 更改文件 yyTest.ini时间为当前时间(yyTest.ini已存在)

>、>>
> 直接覆盖原文件,不会有任何提示
>> 追加在原文件末尾,不会覆盖原文件的内容
> test.ini
ls > test.ini
cd > test.txt
echo "this is content" > test.ini  // 可写文件内容,引号可省
cat > test.ini  // 编辑文本,按ctrl+z退出

2. 复制、移动与删除

cp 1.txt test.txt

cat 1.txt > 2.txt
less 1.txt > 3.txt
more 1.txt > 4.txt

cat file1 file2 > file  // 合并文件



mv命令对文件或文件夹进行移动,如果文件或文件夹存在于当前工作目录,还可以对文件或文件夹进行重命名

mv test.log test1.txt  // 将文件 test.log 重命名为 test1.txt
mv llog1.txt log2.txt log3.txt /test3  // 将文件 log1.txt,log2.txt,log3.txt 移动到根的 test3 目录中
mv -i log1.txt log2.txt  // 将文件 file1 改名为 file2,如果 file2 已经存在,则询问是否覆盖
mv * ../  // 移动当前文件夹下的所有文件到上一级目录



rm [选项] 文件…

rm -i *.log  // 删除任何 .log 文件,删除前逐一询问确认
rm -- -f*  // 删除以 -f 开头的文件

3. 查看文件

cat -- 显示文件内容
如果文件内容过多,则只会显示最后一屏的内容
cat file1  // 用于查看文件名为file1的文件内容
cat -n file2  // 查看文件名为file2的文件内容,并从1开始对所有输出的行数(包括空行)进行编号
cat -b file3  // 查看文件名为file3的文件内容,并从1开始对所有的非空行进行编号

more -- 分页显示文件内容
more指令会以一页一页的形式显示文件内容,按空白键(space)显示下一页内容,按Enter键会显示下一行内容,按 b 键就会往回(back)一页显示
more file1  // 查看文件file1的文件内容
more -num file2  // 查看文件file2的内容,一次显示num行
more +num file3  // 查看文件file3的内容,从第num行开始显示

less -- 可以向前或向后查看文件内容
less指令查看文件内容时可以向前或向后随意查看内容,按U向前滚动半页,按Y向前滚动一行,按[PageDown]向下翻动一页,按[PageUp]向上翻动一页,按Q退出less命令
less file1  // 查看文件file1的内容
less -m    file2  // 查看文件file2的内容,并在屏幕底部显示已显示内容的百分比

head -- 查看文件开头的内容
head指令用于显示文件开头的内容,默认情况下,只显示文件的头10行内容
head -n <行数> filename  // 显示文件内容的前n行

tail -- 显示文件尾部的内容
tail指令用于显示文件尾部的内容,默认情况下只显示指定文件的末尾10行
tail -n <行数> filename  // 显示文件尾部的n行内容

4. 修改文件

vi编辑器使用

vi test.ini

常用操作
按[ESC]键使vi从文本输入模式回到命令模式
按i 在光标左侧输入正文
按x 删除光标位置指定的字符
按dd 删除光标所在的行
按u 撤销最近的修改
按y 复制
按p 粘贴
:wq 保存退出
/foo 查找foo
:s/foo/bar/g  在当前行查找foo并替换为bar,所有出现都会被替换(g)
:%s/foo/bar/g  在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g)

四、用户与权限

用户和用户组管理

权限管理

1. 切换用户

su [选项] 用户名

-:当前用户不仅切换为指定用户的身份,同时所用的工作环境也切换为此用户的环境(包括 PATH 变量、MAIL 变量等),使用 - 选项可省略用户名,默认会切换为 root 用户
-l:同 - 的使用类似,也就是在切换用户身份的同时,完整切换工作环境,但后面需要添加欲切换的使用者账号
-p:表示切换为指定用户的身份,但不改变当前的工作环境(不使用切换用户的配置文件)
-m:和 -p 一样
-c 命令:仅切换用户执行一次命令,执行后自动切换回来,该选项后通常会带有要执行的命令

例子
su root
su - root  // "-"代表连带环境变量一起切换

2. 用户操作

useradd [选项] 用户名    // 添加用户
passwd [选项] 用户名    // 修改用户密码
usermod [选项] 用户名    // 修改用户信息
chage [选项] 用户名    // 修改用户密码状态
userdel -r 用户名    // 删除用户, -r同时删除用户的家目录
id 用户名    // 查看用户的UID和GID
whoami和who am i    // 前者用来打印当前执行操作的用户名,后者则用来打印登陆当前 Linux 系统的用户名

3. 用户组操作

groupadd [选项] 组名    // 添加用户组
groupmod [选现] 组名    // 修改用户组
groupdel 组名    // 刪除用户组
gpasswd 选项 组名    // 把用户添加进组或从组中删除
newgrp 组名    // 切换用户的有效组

4. 权限管理

chgrp [-R] 所属组 文件名(目录名)    // 修改文件和目录的所属组 change group

chown [-R] 所有者 文件或目录    // 修改文件和目录的所有者和所属组 change owner
chown [-R] 所有者:所属组 文件或目录
例子
chmod ugo+r file1.txt    // 将文件 file1.txt 设为所有人皆可读取
chmod a+r file1.txt    // 同上
chmod ug+w,o-w file1.txt file2.txt    // 将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
chmod 777 file    // User、Group、及Other皆为可读写执行

五、其他常用操作

1. 查看帮助

help
// 在终端列出所有可用的命令,可以使用任何命令的-h或-help选项来查看该命令的具体用法

whatis 指令名
// 用单行来解释当前命令

man 指令名
// manual 手册

2. 搜索查找

which     查看可执行文件的位置
whereis 查看文件的位置
locate  配合数据库查看文件位置
find        实际搜寻硬盘查询文件名称

grep 命令用于查找文件里符合条件的字符串

3. 压缩与解压

// .zip
zip [options] 目标压缩包名称 待压缩源文件
unzip [-Z] [options] 待压缩源文件 [list] [-x xlist] [-d exdir]

// .gz
gzip [options] 待压缩源文件
gunzip [options]  待解压文件

// .tar
tar [options] 目标压缩包名称 待压缩源文件

4. 用户与系统

exit  // 用于结束当前的终端会话
uname  // 显示出关于系统的重要信息
who  // 列出当前登录的用户名
ping 网址  // 通过发送数据包ping远程主机(服务器),常用与检测网络连接和服务器状态
df -h  // 查看文件系统中磁盘的使用情况
ps  // 显示系统的运行进程
top  // 默认按照CPU的占用情况,显示占用量较大的进程
shutdown  // 用于关闭计算机,shutdown -r用于重启计算机

5. 命令缩写

Linux命令缩写

评论区
头像
文章目录