[Linux]常用命令

PWD

pwd 显示工作路径

shutdown

shutdown -h now 关闭系统 /halt 关闭系统
shutdown -r now 重启 / reboot 重启

防火墙

systemctl stop firewalld  关闭防火墙

IP地址

ip addr  查看ip地址

cd

cd命令:这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:

cd /home   进入根目录下面的home目录
cd home   进入当前目录下的home目录
cd ..    返回上一层目录
cd ../..    返回上两级目录
cd /     返回根目录
cd -     返回上次所在的目录

ls

ls命令:这是一个非常有用的查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下:

ls    查看目录中的文件
ls -a  列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来
ls -l   显示文件和目录的详细资料

mkdir

mkdir 命令:创建目录

mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录

rm

rm命令:删除

rm -f file1   删除一个叫做 'file1' 的文件'
rmdir dir1   删除一个叫做 'dir1' 的目录' (空目录才能删除)
rm -rf dir1   删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2   同时删除两个目录及它们的内容

mv

mv命令:该命令用于移动文件、目录或更名,move之意,它的常用参数如下:-f 如果目标文件已经存在,不会询问而直接覆盖

mv file1 file2 把文件file1重命名为file2
mv file1 file2 dir 把文件file1、file2移动到目录dir

cp

cp命令:该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下, 它的常用参数如下:

cp -a file1 file2 连同文件的所有特性把文件file1复制成文件file2
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录

find

find命令:find是一个基于查找的功能非常强大的命令

find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /home/user1 -name *.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件

ps

该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:

-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出

其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:

ps aux 查看系统所有的进程数据
ps ax 查看不与terminal有关的所有进程
ps -lA 查看系统所有的进程数据
ps axjf 查看连同一部分进程树状态

kill

kill命令:该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:

kill -signal PID
signal的常用参数如下:注:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。

1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
例如:

以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程
kill -SIGTERM %1

重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得
kill -SIGHUP PID

tar

tar命令:该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:

压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

chmod

chmod命令:该命令用于改变文件的权限,一般的用法如下:

chmod -R 777 意思就是将当前目录及目录下所有文件都给予777权限(所有权限)

查看文件内容

cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容

YUM 软件包升级器 - (Fedora, RedHat及类似系统)

yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update package_name.rpm 更新当前系统中所有安装的rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search package_name 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean all 删除所有缓存的包和头文件

grep命令

查询log文件中的所有IP地址

grep -o '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b'

grep 是一个强大的 Linux/Unix 命令,用于在文件中搜索指定的模式。下面是 grep 命令的基本用法和一些常见选项:

基本用法:#

grep pattern file
  • pattern: 要搜索的模式或文本
  • file: 要在其中搜索模式的文件名

常见选项:#

  • -i:忽略大小写
  • -r:递归搜索子目录
  • -n:显示匹配行及其行号
  • -v:显示不匹配的行
  • -c:仅显示匹配的行数
  • -l:仅显示包含匹配项的文件名
  • -E:支持扩展正则表达式
  • -w:匹配整个单词
  • -A NUM:显示匹配行及其后 NUM 行的内容
  • -B NUM:显示匹配行及其前 NUM 行的内容

示例用法:#

  1. 在文件中搜索包含 "error" 的所有行:

    grep 'error' file.txt
    
  2. 递归搜索包含 "keyword" 的所有文件:

    grep -r 'keyword' /path/to/directory
    
  3. 搜索时忽略大小写:

    grep -i 'pattern' file.txt
    
  4. 显示匹配行的行号:

    grep -n 'pattern' file.txt
    
  5. 显示不匹配的行:

    grep -v 'pattern' file.txt
    

grep 命令非常灵活,可以根据不同的需求使用不同的选项来搜索和过滤文本内容。

查看cpu等硬件型号

lscpu

KILL

kill -9 是一个在 Unix 和 Linux 系统上非常强大的命令,用于立即终止一个进程。它发送一个 SIGKILL 信号给指定的进程,强制其立即停止运行。以下是详细的解释和使用示例。

kill -9 的含义

  • kill: 这是一个用于发送信号给进程的命令。默认情况下,它会发送一个 SIGTERM 信号,要求进程优雅地终止。
  • -9: 这是信号编号,代表 SIGKILL 信号。SIGKILL 是一个无法被捕获、阻塞或忽略的信号,它会强制终止进程。

使用 kill -9 的场景

kill -9 通常在以下场景中使用:

  1. 进程无法正常终止: 当使用 killkill -15(SIGTERM)无法终止进程时,可以使用 kill -9 强制终止。
  2. 紧急情况: 当某个进程严重影响系统性能或稳定性,需要立即终止时使用。

使用 kill -9 的示例

查找进程 ID (PID)

首先,你需要知道要终止的进程的 PID。可以使用 pstophtoppgrep 等命令查找进程的 PID。

ps aux | grep some_process_name

终止进程

一旦知道进程的 PID,就可以使用 kill -9 终止它。例如,如果 PID 是 12345:

kill -9 12345

使用 pgreppkill

如果你知道进程的名字,可以使用 pgrep 查找 PID,或者直接使用 pkill 终止进程:

pkill -9 some_process_name

注意事项

  • 数据丢失风险: 因为 SIGKILL 信号会立即终止进程,没有机会进行任何清理操作(例如保存数据、释放资源等),所以在使用 kill -9 时要小心,避免数据丢失。
  • 优雅终止优先: 尽量先使用 kill(SIGTERM)或 kill -15,给进程一个机会进行清理和释放资源。如果无效,再考虑使用 kill -9
  • 权限问题: 终止其他用户的进程通常需要管理员权限(sudo)。

示例代码

以下是一个简单的示例,展示如何查找并终止一个 Python 脚本进程:

# 运行一个示例 Python 脚本
python -c "while True: pass" &

假设这个脚本的 PID 是 12345,可以使用以下命令终止它:

# 查找 PID
ps aux | grep 'python -c "while True: pass"'

# 终止进程
kill -9 12345

或者直接使用 pkill 终止所有运行中的 Python 进程(请谨慎使用):

pkill -9 python

总结

kill -9 是一个强大的命令,用于立即终止进程,但应谨慎使用,优先尝试优雅的终止方法。在执行之前,确保确实需要强制终止进程,并注意可能引发的数据丢失和资源未释放等问题。

作者:Esofar

出处:https://www.cnblogs.com/DCFV/p/18340904

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Duancf  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示