一、文件和目录操作
ls:列出目录内容。
-a 列出目录下的所有⽂件,包括以 . 开头的隐含⽂件。
-d 将目录象⽂件一样显⽰,而不是显⽰其下的⽂件。 如:ls ‒d 指定目录
-k 以 k 字节的形式表⽰文件的大小。ls ‒alk 指定文件
-l 列出⽂件的详细信息。
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有⼦目录下的⽂件。(递归)
例如:ls -la列出当前目录下所有文件和目录的详细信息。
cd:切换目录。
# 返回上级目录
cd ..
# 进⼊⽤户家目录
cd ~
# 返回最近访问目录
cd -
例如:cd /home/user切换到 /home/user 目录。
pwd:显示当前工作目录的路径。
mkdir:创建目录。
-p, --parents
可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,
系统将自动建立好那些尚不存在的⽬录,即⼀次可以建立多级⽬录。
例如:mkdir newdir创建名为 newdir 的目录。
rmdir:删除空目录。
rm:删除文件或目录。
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
例如:rm -rf olddir强制递归删除 olddir 目录。
cp:复制文件或目录。
-f 或 --force 强⾏复制文件或目录,不论目的⽂件或目录是否已经存在
-i 或 --interactive 覆盖⽂件之前先询问⽤户
-r 递归处理,将指定⽬录下的文件与子⽬录一并处理。若源文件或⽬录的形态,不属于目录或符号
链接,则一律视为普通⽂件处理
-R 或 --recursive 递归处理,将指定⽬录下的⽂件及⼦目录一并处理
例如:cp file1 file2将 file1 复制为 file2;cp -r dir1 dir2递归复制目录 dir1 为 dir2。
mv:移动文件或目录,也可用于重命名。
-f :force 强制的意思,如果目标文件已经存在,不会询问⽽直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
例如:mv file1 dir1将 file1 移动到 dir1 目录下;
mv oldname newname将文件重命名为 newname。
二、文件查看和编辑
touch: 可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
cat:查看文件内容并输出到终端。
-n 对输出的所有行编号
例如:cat file.txt查看 file.txt 的内容。
more和less:分页查看文件内容。
可以使用空格键翻页,q键退出。
例如:more file.txt分页查看 file.txt。
head:查看文件开头部分内容。
例如:head -n 10 file.txt查看 file.txt 的前 10 行。
tail:查看文件结尾部分内容。
-f 循环读取
-n<⾏数> 显示行数
例如:tail -n 20 file.txt查看 file.txt 的后 20 行。
vi或vim:强大的文本编辑器。
进入编辑器后,可以使用不同的命令模式进行编辑操作,如插入模式(i)、命令模式(Esc)等。
创建文件/打开文件:vim [文件名]
进入插入模式:vim 打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键。(例如按下j并不是输入字母 "j", 而是表示光标往下移动一行)。 需要进入插入模式才能进行文本编辑。使用i键可以进入到插入模式。(左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑了。
保存:在插入模式下不能保存文件,需要先回到普通模式,按下Esc回到普通模式。在普通模式下输入:w,再按下回车,即可保存文件。
插入:在插入模式下不能退出, 需要先回到普通模式。退出时, 分以下情况: 文件未修改: 输入:q,再按下回车,即可退出;文件修改并保存: 使用:wq同时执行保存和退出;文件修改, 但不希望保存: 使用:wq!进行强制退出。
grep:查找文件中是否包含指定字符串,并显示对应的行。
-n<⾏数> 显示的行数
-w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, ⽽不仅仅是一个单词的一部分
-r 递归查找. 可以搜索多级⽬录下的所有文件
--color ⾼亮查找到的结果
--include 指定查找某些文件
--exclude 指定排除某些文件
三、系统管理和信息查询
top:实时显示系统的进程和资源使用情况。
ps:查看当前系统中的进程状态。
a 显示一个终端的所有进程
u 以⽤户为主的格式来显⽰程序状况
x 显示所有程序, 不⽌是会话中的进程
e 显示所有进程, 包括系统守护进程
f 显示完整格式输出
例如:ps aux查看所有进程的详细信息。
free:查看系统内存使用情况。
df:查看磁盘空间使用情况。
du:查看文件或目录占用的磁盘空间大小。
例如:du -sh dir1查看目录 dir1 占用的磁盘空间大小。
hostname:查看主机名。
uname:查看系统信息。
例如:uname -a显示系统的详细信息。
who:查看当前登录的用户。
w:查看当前登录用户的详细信息和系统负载情况。
四、用户和权限管理
useradd:添加用户。
例如:useradd newuser添加名为 newuser 的用户。
passwd:设置用户密码。
例如:passwd newuser为 newuser 用户设置密码。
userdel:删除用户。
例如:userdel -r newuser删除用户并同时删除用户的主目录。
chmod:改变文件或目录的权限。
例如:chmod 755 file.txt将 file.txt 的权限设置为所有者有读、写、执行权限,所属组和其他用户有读和执行权限。
chown:改变文件或目录的所有者。
例如:chown user:group file.txt将 file.txt 的所有者改为 user,所属组改为 group。
五、网络相关
ping:测试网络连接。
例如:ping www.example.com测试与网站的连接。
ifconfig或ip addr:查看网络接口信息。
netstat:查看网络连接状态和端口信息。
-a 显示所有正在或不在侦听的套接字
-n 显示数字形式地址而不是去解析主机、端口或⽤户名
-p 显示套接字所属进程的PID和名称
例如:netstat -an查看所有网络连接和监听端口。
ssh:通过 SSH 协议远程登录到其他主机。
例如:ssh user@remotehost以 user 用户身份登录到远程主机 remotehost。
六、压缩和解压缩
tar:打包和解包文件。
例如:tar -cvf archive.tar file1 file2 dir1将 file1、file2 和 dir1 打包为 archive.tar;
tar -xvf archive.tar解包 archive.tar。
gzip和gunzip:压缩和解压缩文件。
例如:gzip file.txt压缩 file.txt 为 file.txt.gz;
gunzip file.txt.gz解压缩 file.txt.gz。
zip和unzip:使用 ZIP 格式进行压缩和解压缩。
例如:zip archive.zip file1 file2将 file1 和 file2 压缩为 archive.zip;
unzip archive.zip解压缩 archive.zip。