Linux常用命令
本文最后更新于213 天前,其中的信息可能已经过时,如有错误请发送邮件到mapleleaf2333@gmail.com

本文记录一下自己可能常用的Linux命令,方便查询

1 文件管理

1.1 创建文件

可以使用touch快速的创建文件,例如我们要创建一个demo.py文件:

touch demo.py

1.2 创建文件夹

同样的使用方法,如果要创建一个名为test的目录:

mkdir test

1.3 切换目录

cd 文件路径

1.4 打印路径

可以使用pwd命令查看当前所在的目录:这样可以方便我们确定我们当前所在哪个目录下面。

pwd

1.5 输出文件内容

cat命令可以查看文件里面的内容,更多的使用命令可以使用--help命令查看:

  • -a,–show-all等价于-vET
  • -b,–number-non空白数非空输出行,覆盖-n
  • -e, 等价于-vE
  • -E,–show-结束显示$在每一行的末尾
  • -n,–number编号所有输出行
  • -s,–crick-空白抑制重复的空输出行
  • -t等价于-vT
  • -t,–show-tabs将制表符显示为^I
  • -v,–show非打印使用^和M-表示法,LFD和TAB除外

1.6 文件编辑器Vim

需要编辑文件的时候可以使用vi或者vim命令,另外可以通过ESC进入命令模式,命令模式常用快捷键如下:

dd #删除一行
yy #复制一行
p #粘贴
gg #到首行
G #到行尾
dG #删除光标行及其以下行的全部内容。(注:d为删除,G为光标跳转到末尾行)

进入编辑模式可以使用i

当要结束编辑时(末行模式):

wq #保存并退出
q! #不保存退出
w #保存
/ #查找

1.7 cp 和 ln(重点)

cp命令经常用到,它是用来将一个文件或者目录复制到另一个目录下的操作,常用的使用有:

  • 复制文件:cp 源文件 目标文件
  • 复制目录:cp -r 源目录 目标目录

但是如果要使用模型的话,这种操作会占用大量的磁盘空间(创建了新的副本),此时可以使用ln命令,这个就和windows的快捷方式一样。linux中链接分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

软连接的常用的使用方法如下:

ln [参数][源文件或目录][目标文件或目录]

参数如下:

  • -s:创建软链接(符号链接)也是最常用的;
  • -f:强制执行,覆盖已存在的目标文件;
  • -i:交互模式,文件存在则提示用户是否覆盖;
  • -n:把符号链接视为一般目录;
  • -v:显示详细的处理过程。

1.8 移动命令mv 和 删除命令rm

mv命令和rm命令的使用方式很相似,但是mv是用来移动文件或者目录的,同时还可以进行重命名。rm命令则是用来删除文件或者目录的。

常用的使用方法如下:

  • mv 命令

常用参数:

  • -i:交互模式,覆盖前询问。
  • -f:强制覆盖。
  • -u:只在源文件比目标文件新时才进行移动。

使用示例:

  • mv file1.txt dir1/:将文件 file1.txt 移动到目录 dir1 中。
  • mv file1.txt file2.txt:将文件 file1.txt 重命名为 file2.txt
  • rm 命令

常用参数:

  • -i:交互模式,删除前询问。
  • -f:强制删除,忽略不存在的文件,不提示确认。
  • -r:递归删除目录及其内容。

使用示例:

  • rm file.txt:删除文件 file.txt
  • rm -r dir1/:递归删除目录 dir1 及其所有内容。

删除目录的命令也可以使用rmdir

1.9 文件查找

find命令是Linux系统中一个强大的文件搜索工具,它可以在指定的目录及其子目录中查找符合条件的文件或目录,并执行相应的操作。

以下是find命令的一些常见用法:

  1. 按文件名查找:使用-name选项按照文件名查找文件。例如,find /path/to/directory -name "file.txt"将在指定目录及其子目录中查找名为file.txt的文件。
  2. 按文件类型查找:使用-type选项按照文件类型查找文件。例如,find /path/to/directory -type f将查找指定目录及其子目录中的所有普通文件。
  3. 按文件大小查找:使用-size选项按照文件大小查找文件。例如,find /path/to/directory -size +100M将查找指定目录及其子目录中大于100MB的文件。
  4. 按修改时间查找:使用-mtime-atime-ctime选项按照文件的修改时间、访问时间或状态更改时间查找文件。例如,find /path/to/directory -mtime -7将查找指定目录及其子目录中在7天内修改过的文件。
  5. 按文件权限查找:使用-perm选项按照文件权限查找文件。例如,find /path/to/directory -perm 755将查找指定目录及其子目录中权限为755的文件。
  6. 按用户或组查找:使用-user-group选项按照文件的所有者或所属组查找文件。例如,find /path/to/directory -user username将查找指定目录及其子目录中属于用户username的文件。
  7. 执行操作:使用-exec选项可以对找到的文件执行相应的操作。例如,find /path/to/directory -name "*.txt" -exec rm {} \;将删除找到的所有以.txt结尾的文件。

1.10 查看文件信息

ls命令可以用来列出目录的内容以及详细信息

常用参数及使用方法如下:

  • -a:显示所有文件和目录,包括隐藏文件(以.开头的文件或目录)。
  • -l:以长格式显示详细信息,包括文件权限、所有者、大小、修改时间等。
  • -h:与-l结合使用,以人类可读的方式显示文件大小(如KMG等)。
  • -R:递归列出子目录的内容。
  • -t:按文件修改时间排序显示。、

1.11 文本处理

sed命令是一种流编辑器,主要用于文本处理,在处理复杂的文件操作时经常用到,sed命令常用参数及使用示例如下:

  • 参数说明:
    • -e<script>--expression=<script>:直接在命令行中指定脚本进行文本处理。
    • -f<script文件>--file=<script文件>:从指定的脚本文件中读取脚本进行文本处理。
    • -n--quiet--silent:仅打印经过脚本处理后的输出结果,不打印未匹配的行。
  • 动作说明:
    • a:在当前行的下一行添加指定的文本字符串。
    • c:用指定的文本字符串替换指定范围内的行。
    • d:删除指定的行。
    • i:在当前行的上一行添加指定的文本字符串。
    • p:打印经过选择的行。通常与 -n 参数一起使用,只打印匹配的行。
    • s:使用正则表达式进行文本替换。例如,s/old/new/g 将所有 “InternLM” 替换为 “InternLM yyds”。

此外,grep是一个强大的文本搜索工具。常用参数如下:

  • -i:忽略大小写进行搜索。
  • -v:反转匹配,即显示不匹配的行。
  • -n:显示行号。
  • -c:统计匹配的行数。

比如我们可以使用grep命令来查看python中安装的包含os字段的包

2 用户管理

2.1 给普通用户添加sudo权限

先修改文件读写权限:

chmod u+w /etc/sudoers. //增加写的权限,修改文件后,记得将权限改回来

根据情况添加sudo,格式为

ubuntu ALL=(ALL) ALL

/etc/sudoers 权限改回来

chmod u-w /etc/sudoers

2.2 修改用户密码

passwd 用户名

2.3 给用户授权特定文件夹

需要root权限

chown -R 用户名 授权文件夹

2.4 删除用户

直接删除:

sudo userdel username

如果需要同时删除用户的主目录和相关文件:

sudo userdel -r username

2.5 用户组管理

//查看所有的组,输出的内容是“组名:x:组标识号:已有成员”
cat /etc/group

//查看当前用户的组
groups

//添加用户到某一个组可以使用,但会清除之前的组
usermod -G group_name user_name

//添加一个用户到用户组
gpasswd -a user_name group_name

//添加用户组
groupadd group_name

//删除用户组
groupdel group_name

3 进程管理

进程管理命令是进行系统监控和进程管理时的重要工具,常用的进程管理命令有以下几种:

  • ps:查看正在运行的进程
  • top:动态显示正在运行的进程
  • pstree:树状查看正在运行的进程
  • pgrep:用于查找进程
  • nice:更改进程的优先级
  • jobs:显示进程的相关信息
  • bg 和 fg:将进程调入后台
  • kill:杀死进程

还有一条特殊的命令nvidia-smi,它是 NVIDIA 系统管理接口(NVIDIA System Management Interface)的命令行工具,用于监控和管理 NVIDIA GPU 设备。它提供了一种快速查看 GPU 状态、使用情况、温度、内存使用情况、电源使用情况以及运行在 GPU 上的进程等信息的方法。

下面是关于各个命令使用示例:

  • ps:列出当前系统中的进程。使用不同的选项可以显示不同的进程信息,例如:
    • ps aux # 显示系统所有进程的详细信息
  • top:动态显示系统中进程的状态。它会实时更新进程列表,显示CPU和内存使用率最高的进程。
    • top # 启动top命令,动态显示进程信息
  • pstree:以树状图的形式显示当前运行的进程及其父子关系。
    • pstree # 显示进程树
  • pgrep:查找匹配条件的进程。可以根据进程名、用户等条件查找进程。
    • pgrep -u username # 查找特定用户的所有进程
  • nice:更改进程的优先级。nice值越低,进程优先级越高。
    • nice -n 10 long-running-command # 以较低优先级运行一个长时间运行的命令
  • jobs:显示当前终端会话中的作业列表,包括后台运行的进程。
    • jobs # 列出当前会话的后台作业
  • bg和fg:bg 将挂起的进程放到后台运行,fg 将后台进程调回前台运行。
    • bg # 将最近一个挂起的作业放到后台运行
      fg # 将后台作业调到前台运行
  • kill:发送信号到指定的进程,通常用于杀死进程。
    • kill PID # 杀死指定的进程ID
    • 注意,kill 命令默认发送 SIGTERM 信号,如果进程没有响应,可以使用-9使用SIGKILL 信号强制杀死进程:
    • kill -9 PID # 强制杀死进程    

SIGTERM(Signal Termination)信号是Unix和类Unix操作系统中用于请求进程终止的标准信号。当系统或用户想要优雅地关闭一个进程时,通常会发送这个信号。与SIGKILL信号不同,SIGTERM信号可以被进程捕获并处理,从而允许进程在退出前进行清理工作。

以下是 nvidia-smi 命令的一些基本命令用法:

  • 显示 GPU 状态的摘要信息:
    • nvidia-smi
  • 显示详细的 GPU 状态信息:
    • nvidia-smi -l 1
    • 这个命令会每1秒更新一次状态信息。
  • 显示 GPU 的帮助信息:
    • nvidia-smi -h
  • 列出所有 GPU 并显示它们的 PID 和进程名称:
    • nvidia-smi pmon
  • 强制结束指定的 GPU 进程:
    • nvidia-smi –id=0 –ex_pid=12345
    • 这会强制结束 GPU ID 为 0 上的 PID 为 12345 的进程。
  • 设置 GPU 性能模式:
    • nvidia-smi -pm 1
      nvidia-smi -i 0 -pm 1
    • 第一个命令会为所有 GPU 设置为性能模式,第二个命令只针对 ID 为 0 的 GPU。
  • 重启 GPU:
    • nvidia-smi –id=0 -r
    • 这会重启 ID 为 0 的 GPU。
  • 显示帮助信息:
    • nvidia-smi -h
文章作者: 落尘Alko
链接: http://mapleleaf666.vip/?p=613
来源: 落尘Alko的小窝
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇