Linux(ubuntu)系统的一些基本操作和命令(持续更新)
操作:
Ctrl + Alt + T(打开命令终端)
Ctrl + Shift + '+'(放大命令终端窗口)
Ctrl + c(退出当前在终端运行的程序)
在命令终端窗口按Tab键可以补全要写的命令
命令:
pwd(查看当前所在文件夹)
cd 文件路径(到指定文件路径下)
cat 文件路径 (查看该文件路径下文件的内容(在同目录的可以不用写前缀路径))
vi 文件路径(进入vi模式查看该文件路径下文件的内容(在同目录的可以不用写前缀路径))
rm / -rf(强制删除根文件)
-rf
是命令行中的选项,通常在 Linux/Unix 系统中使用 rm
命令时见到。它是两个选项的组合,分别是:
-
-r
(recursive)
表示递归删除,用于删除目录及其所有子文件和子目录。没有这个选项,rm
只能删除单个文件,不能直接删除目录。 -
-f
(force)
表示强制删除,不会提示用户确认,也不会报告不存在的文件或权限问
rm 表示删除某个文件
/ 表示根文件(该位置敲其他名字就是删除该名字的文件,*代表所有)
rm -rf 或 rm * -rf删除当前文件夹
ls(查看当前文件夹下的文件)
mkdir test(在当前文件夹下创建一个名为test的文件夹)
touch file(在当前文件夹下创建一个名为file的文件(文件和文件夹不一样))
cp file file2 (将file的内容复制给file2(创建file2,内容是file的内容))
cp Music/ MusicAgain -rf(强制将Music底下的文件复制给MusicAgain(创建MusicAgain内容是Music))
ip addr(获取ip地址)
vi demo.c (打开并编辑demo.c文件,如果 demo.c
文件不存在,vi
会新建一个名为 demo.c
的文件)
在vi里先按ESC然后再输入:wq表示保存并退出文件
:w
表示保存 (write) 文件。:q
表示退出 (quit) 编辑器。- i 文本编辑模式
gcc demo1.c(demo1是你的 C 源文件,包含了用 C 语言编写的代码。gcc
会读取该文件并尝试将其编译成可执行程序。运行 gcc demo1.c
后,gcc
会生成一个名为 a.out
的默认可执行文件(在当前目录中))
./a.out(打开根目录路径下的a.out)
ls -l(列出当前用户对各文件的权限)(可读(r,4)、可写(w,2)、执行(x,1))
man 2 open(查看open函数的用法(C))
mv [选项] 源文件或目录 目标文件或目录
在 Linux 中,mv
命令用于移动文件或目录,或者重命名文件或目录。以下是它的用法及常见选项:
基本语法
mv [选项] 源文件或目录 目标文件或目录
常见场景
-
移动文件到另一个目录
mv file.txt /path/to/destination/
将
file.txt
移动到/path/to/destination/
。 -
重命名文件
mv oldname.txt newname.txt
将文件
oldname.txt
重命名为newname.txt
。 -
移动目录
mv dir1 /path/to/destination/
将目录
dir1
移动到/path/to/destination/
。 -
同时移动并重命名
mv file.txt /path/to/destination/newname.txt
将
file.txt
移动到/path/to/destination/
并重命名为newname.txt
。
常用选项
-
-i
(交互模式)
在覆盖文件前提示用户确认:mv -i file.txt /path/to/destination/
-
-f
(强制模式)
覆盖目标文件时不提示,直接覆盖(默认行为):mv -f file.txt /path/to/destination/
-
-n
(不覆盖已存在文件)
如果目标文件已存在,不执行操作:mv -n file.txt /path/to/destination/
-
-v
(显示详细过程)
显示每一步操作的详细信息:mv -v file.txt /path/to/destination/
注意事项
- 如果目标路径是一个已存在的文件,
mv
会覆盖它,除非使用-n
或其他选项。 - 如果目标路径是一个已存在的目录,
mv
会将源文件或目录移动到目标目录中。
示例
-
批量移动文件
mv *.txt /path/to/destination/
将当前目录下所有
.txt
文件移动到/path/to/destination/
。 -
安全移动
mv -i important.txt /path/to/safeplace/
如果目标路径存在同名文件,
mv
会提示确认是否覆盖。 -
查看移动过程
mv -v data.csv /path/to/archive/
详细显示移动的源和目标路径。
date(显示当前时间)
>(重定向符号)
- 这是 Shell 中的输出重定向符号。
- 将命令的标准输出(默认是终端)重定向到指定的文件中。
- 如果文件已经存在,重定向操作会清空文件内容并写入新的数据。
- 如果文件不存在,重定向操作会创建该文件。
可以这样理解,date > date.txt
是一种类似“赋值”的操作,但它不是传统意义上的变量赋值,而是将命令的输出重定向到文件,从而实现“赋值”效果。
与终端输出的区别
- 仅运行
date
:输出显示在终端。 - 运行
date > date.txt
:输出不会显示在终端,而是直接写入到date.txt
文件。
- 如果文件
date.txt
已存在,重定向会覆盖其内容。 - 如果希望追加内容而不是覆盖,可以使用
>>
:(date >> date.txt)
ps(它可以列出系统中正在运行的进程,显示进程的PID(进程ID)、状态、占用资源等信息。ps
命令有很多选项,可以根据需求来过滤、排序或格式化输出的结果。)
在Linux系统中,ps
是一个非常常用的命令,用于显示当前系统中的进程信息。它可以列出系统中正在运行的进程,显示进程的PID(进程ID)、状态、占用资源等信息。ps
命令有很多选项,可以根据需求来过滤、排序或格式化输出的结果。
常见用法:
-
查看当前用户的进程
ps
这会列出当前用户正在运行的进程。
-
查看所有进程(包括其他用户的进程)
ps -e
或者:
ps -A
这会显示系统上所有正在运行的进程。
-
查看详细信息
ps -ef
这个命令会显示所有进程的详细信息,包括进程ID、父进程ID、启动时间、占用的CPU和内存等。
-
查看进程树
ps -ejH
或者:
ps axjf
这个命令以树状结构显示进程之间的关系。
-
根据进程名过滤
ps aux | grep <process_name>
通过管道结合
grep
来查找特定进程的详细信息。
常用选项:
-e
或-A
:列出所有进程-f
:显示完整的进程信息,包括父进程ID(PID)、启动时间等-u
:显示指定用户的进程-x
:显示没有控制终端的进程(后台进程)-H
:显示进程的父子关系(进程树)-o
:自定义输出格式
通过组合这些选项,ps
能够帮助用户获取详细的进程状态信息,并对系统的性能进行监控和调优。
ps aux
是 ps
命令的一个常见用法,它用于显示系统上所有正在运行的进程,包括其他用户的进程,并且提供了非常详细的信息。
解释:
- a:显示所有用户的进程,而不仅仅是当前用户的进程。包括其他用户的进程。
- u:以用户友好的格式显示进程信息,列出进程的所有者、CPU占用率、内存占用率、启动时间等。
- x:包括没有控制终端的进程,通常是一些后台进程或者守护进程。
输出内容:
ps aux
命令的输出通常包括以下几列:
- USER:进程所属的用户
- PID:进程的ID
- %CPU:进程占用的CPU百分比
- %MEM:进程占用的内存百分比
- VSZ:进程占用的虚拟内存大小(以KB为单位)
- RSS:进程占用的实际物理内存大小(以KB为单位)
- TTY:进程所关联的终端(如果有的话)
- STAT:进程状态,例如:
S
:睡眠状态(等待事件发生)R
:运行状态(正在运行或准备运行)Z
:僵尸状态(进程已终止但仍在进程表中)
- START:进程的启动时间
- TIME:进程占用的CPU时间
- COMMAND:启动该进程的命令
示例:
ps aux
输出示例:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.0 22588 1684 ? Ss 09:20 0:02 /sbin/init
root 2 0.0 0.0 0 0 ? S 09:20 0:00 [kthreadd]
...
这种格式的输出非常适合用来查看系统的整体进程状态,尤其是在进行性能调优、资源管理或故障排查时。
常见组合:
-
查找某个进程:
ps aux | grep <process_name>
这可以帮助查找某个特定进程(比如
grep
查询命令)。 -
查看进程占用最多的资源:
ps aux --sort=-%cpu
按照CPU占用率排序(从高到低)。
ps aux --sort=-%mem
按照内存占用率排序(从高到低)。
ps aux
是一个非常强大的工具,能够帮助你全面了解系统的进程状态,并帮助诊断和优化系统性能。
top(类似windows的任务管理器)
top
是一个实时监控 Linux 系统资源(如 CPU、内存)和进程的命令。它动态显示系统状态,并可以对进程进行排序、过滤和管理。
常用功能:
- 实时显示资源使用:显示 CPU、内存、交换空间等使用情况。
- 动态更新:默认每 3 秒刷新一次。
- 交互式命令:按
P
按 CPU 排序、按M
按内存排序、按k
杀死进程等。 - 显示进程树:按
V
查看进程的父子关系。
示例:
top
显示的内容包括:
- 系统负载、CPU 使用率、内存使用等。
- 进程列表:PID、进程名、CPU 和内存占用等。
退出:按 q
退出 top
。