本文主要总结一些常用的Linux命令。
系统登录
-
Linux默认提供6个Terminal供用于登录,切换方式为Ctrl+Alt+[F1-F6],名称分别为tty1-tty6,使用Ctrl+Alt+F7可切换至图形界面。 - 若以纯文本环境启动
Linux,若想启动图形界面,可使用startx命令启动图形界面。 - 使用
man + 命令可查看帮助,如man date。 - 使用
shutdown命令关机,如shutdown -h now表示现在关机,shutdown -h 20:25表示20:25关机。
Linux目录存储结构
- 根目录 /
- 根目录的第一级子目录
/home : 所有普通用户的家目录
/bin:系统的命令对应的可执行文件
/etc:系统的配置目录
/dev:设备目录
/usr:第三方插件的资源,文档
/root:root用户的家目录
/proc:虚拟目录,以进程为单位存储内存信息的映射
/boot:系统启动时,需要的核心镜像文件
/lib:库文件
此处解释一下两个概念:绝对路径与相对路径。
绝对路径:从根目录开始的路径
相对路径:从当前目录开始的路径
文件类型,操作命令与文件权限
- 获取当前所在位置的绝对路径:pwd
- 切换路径:cd 路径 e.g. cd /bin 切换到bin目录
- 查看当前工作目录下的文件:ls
显示所有文件(包含隐藏文件):ls -a
显示文件对应的inode节点号,是一个唯一值:ls -i
显示文件的类型,权限,所有者等信息:ls -l
Linux上一切皆文件,但文件是有类型的,主要分为以下5种(文件类型是根据显示的字母确定):
- 普通文件 -
- 目录文件 d
- 管道文件 p
- 链接文件 l
软链接:类似于Windows上的快捷方式 创建方式:ln -s 源文件的路径+文件名 链接文件名
硬链接:相当于源文件的别名 创建方式:ln 源文件的路径+文件名 链接文件名
- 设备文件 字符设备文件(c) 块设备文件(b) 套接字文件(s)
文件权限共有9位(Linux上的每一个文件对不同用户提供不同的访问权限)
rwx rwx rwx r:读权限 w: 写权限 x:对于普通文件,表示可执行;对于目录文件,表示可进入
所有者 组用户 其他用户
普通文件 目录文件的管理命令
|
|
普通文件 |
目录文件 |
|
创建 |
touch 文件名 |
mkdir 目录名 |
|
删除 |
rm 文件名 |
rmdir(删除空文件) / rm -r (删除有内容的) 此处的r是递归 |
|
拷贝 |
cp 源文件 目的地路径 |
cp -r 源目录 目的地路径 |
|
剪切 |
mv 源文件 目的路径 |
mv |
| 重命名 |
mv 源文件 源文件路径/newname |
mv |
|
修改属性 |
|
|
|
修改权限 |
chmod
|
|
|
修改属主 |
chown newuser filename (只能root用户执行) |
|
|
修改组用户 |
chgrp newgroup filename(只能root用户执行) |
|
|
查看文件内容 |
more cat less head tail |
ls |
| 编辑文件内容 |
vi / vim |
.. |
|
文件压缩与解压 |
tar / gzip |
.. |
Vim编辑器
末行模式:
- :w 保存文本内容
- :q 退出编辑
- wq 保存并退出
- :w newfilename 另存为
- q! 强制退出
- : set nu 显示行号
- : set nonu 取消显示行号
命令模式
光标移动
- Shift + 4 将光标移动到当前行的末尾
- Shift + 6 将光标移动到当前行的开始
- Shift + g 将光标移动到文件最后一行
- Shift + gg 将光标移动到文件首行
- num Shift + g 将光标移动到文件的num行
- Shift + l 将光标移动到当前页的最后一行
- Shift + h 将光标移动到当前页的首行
- Shift + m 将光标移动到当前页的中间一行
- Ctrl + f 向上翻页
- Ctrl + b 向下翻页
文件内容批处理
- dd 删除一行
- n dd 删除n行
- yy 复制一行
- n yy 复制n行
- p 拷贝
- u 撤销上次操作
- Shift + c 删除光标到行尾的内容并开始编辑
- cc 删除当前行并进入编辑模式
- r 字符 将当前字符替换成新字符
- Shift + r 进入替换模式
文本内容的查看 cat more less head tail
搜索文件
- find -name filename 路径
- find -perm 权限
- find -user 用户
- find -group 组
- find -size 大小
- find -type 类型
- find -ctime 创建时间
- find -atime 修改时间
程序管理
- 触发任何一个事件时,系统都会将它定义为一个进程,并且给予这个进程一个
ID,称为PID,同时触发这个进程的用户和相关属性关系,给予这个PID一组有效的权限设置。 - 父进程可通过复制(
fork)方式产生一模一样的子进程,然后被复制出来的子进程再以exec方式执行实际要进行的进程,最终就成为一个子进程。 - 系统先以
fork方式复制一个与父进程相同的暂存进程,这个进程与父进程唯一的区别就是PID不同,这个暂存进程还会多一个PPID的参数,其为父进程的标识符。 - 可使用
&将任务丢到后台进行。(避免使用ctrl + c中断,若注销时,还是会中断执行) - 可使用
jobs -l命令查看目前的后台工作状态。 - 使用
fg %jobnumber命令将后台工作拿到前台执行,如先使用vim kill.sh &,然后使用jobs -l,最后使用fg 1命令。 - 使用
bg %jobnumber命令运行后台命令。 - 使用
kill -9 %jobnumber删除指定后台任务。 -
nohup [命令与参数]在终端机前台中工作,nohup [命令与参数] &在终端机后台中工作。即便注销,也依旧执行。 -
ps aux可查看所有的进程数据。 -
top命令监控进程运行状态,如top -d 2表示两秒更新一次各进程状态。 -
uname命令可查看系统与内核相关信息,如uname -s查看系统内核名称。 -
uptime命令可查看系统启动时间与工作负载。 -
fuser命令通过文件找出正在使用该文件的程序。 -
lsof命令列出被进程所打开的文件名。 -
pidof命令找出某个正在执行的进程的PID。