一、目录操作
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命令缩写
本文链接:https://imihu.top/index.php/archives/636/
```
name: Wayne's blog
link: https://wrans.top
avatar: https://cdn.staticaly.com/gh/wayne0926/myphoto@master/img/avatar.jpg
descr: 以梦为马,不负韶华。
```
信息如下:
站点名称:小陈博客
站点描述:理想成为大牛的小陈同学
站点网址:https://reinness.com
站点图片:https://qiniu.reinness.com/avatar.png
作者申请此计划后将作者的文章进行搬迁同步到社区的专栏下,你只需要简单填写一下表单申请即可,我们会给作者提供包括流量、云服务器等,另外还有些周边礼物。