Linux常用命令

Linux常用命令

0.前言

本文归纳了部分Linux中常用的命令 并不全面

更全面的指令大全参考:Linux 命令大全(看这一篇就足够)

1.文件目录类

Linux中 文件没有后缀名

不像Windows那样 后缀名区分不同的文件
Linux是依据-(文件) d(文件夹) l(软连接) 作区分

并没有后缀名

但是我们平时touch出一些test.txt test.sh
其实是为了规范

就算我touch出的是test001 我也能vimtest001

cd

cd -

回到上一次所在的目录

./ 和 .../

./ 当前目录

.../ 上一级目录

一般使用相对路径会用到

mkdir和mkdir -p创建目录/文件夹

注意 ll查看信息前面的d表示文件夹/目录 -表示文件

mkdir创建的就是目录/文件夹

-p表示能够直接创建多层文件夹

rmdir(只能删除空目录)

一个是要 的 一个要是目录 不能是文件

touch创建文件

可以加上路径 不然默认在当前目录创建

cp复制文件或者文件夹(目录)

建议不管复制文件还是目录 都加上个-r递归 一步到位

rm删除文件或者文件夹(目录)

总之 以后不管要删文件还是文件夹 就用rm -rf(文件也支持递归)

但是rm -rf /*一定要慎用 这把根目录的东西全删了 系统会崩溃

mv移动文件以及重命名

cat展示文件全部内容

more展示文件一屏内容

less(好用 还带查找 还能退出就清屏)

它的功能与more指令类似,但是比more指令更加强大

支持查找

而且q退出只有 more不会垃圾回收

而less会

echo

head和tail

head:

tail:

>和>>


可以用tail -f追踪日志的更新

注意 只有echo追加才能监控到
如果我用vim去编辑test.txt 是监控不到的

Ctrl+C退出监控

ln软链接

  • Linux里的软链接就类似Windows的快捷方式
  • Linux中 软链接有自己的数据块 相当于是原始文件的一份备份
  • 软链接目录下的数据 和 原始文件里的数据是同步的 修改任一方 另一方就会同步更新
  • ln -s [原文件或目录] [软链接名]:给原文件创建一个软链接
  • 删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
    如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉 注意不要加这个斜杠!
  • 查询:通过ll就可以查看 列表属性第1位是l 尾部会告知软链接指向了哪个原文件
  • 进入软链接的实际原文件的路径:
    ln -s xiyou/dssz/ ./dssz
    cd -P dssz/

2.用户管理

如何查看当前有哪些用户

cat /etc/passwd 存了用户相关的信息
cat /etc/group 存了组相关的信息
cat /etc/shadow 存了用户密码相关的信息

useradd添加用户


添加新用户到某个组 useradd -g

id查看用户信息

su和su - 的区别

su切换的话 当前用户的环境变量不会生效

而su - 会生效
所以建议使用su -

userdel

  • userdel 用户名 删除用户 但保存用户主目录 也就是/home/还有
  • userdel -r 用户名 用户和用户主目录都删除

whoami

sudo设置普通用户具有root权限

去root用户下 配置一下sudoers
vim /etc/sudoers

修改用户所属组usermod -g

usermod -g 组名 用户名

3.用户组管理

如何查看当前有哪些组

cat /etc/group 存了组相关的信息
cat /etc/passwd 存了用户相关的信息
cat /etc/shadow 存了用户密码相关的信息

增/删/改用户组 groupadd/del/mod -n

  • groupadd 组名 新增一个组
  • groupdel 组名 删除一个组(只能删一个没有任何用户的空组)
  • groupmod -n 新组名 老组名 修改组名
  • 要删组 首先要把该组下面的用户安顿好(用usermod -g修改到别的组) 才能删除

修改用户/组

修改用户:是修改用户所属组 而不是改名字(Linux中用户名创建之后无法修改)

修改组:就是改组名

4.文件权限类

前提

一切权限的修改

或者对文件/目录所有者之类的修改

都要来到root用户下来操作

ll所展示的文件信息


d:文件夹/目录
-:文件
l:软链接

rwx权限类型

权限所针对的是当前登录用户

  • 第1-3位确定属主(该文件的所有者 )拥有该文件的权限 ---User
  • 第4-6位确定属组(所有者的同组用户 )拥有该文件的权限 ---Group
  • 第7-9位确定其他用户 拥有该文件的权限 ---O ther

对文件的rwx操作有哪些指令

r:cat,less,more,head,tail...

w:vi,vim,>,>>

x:执行一个shell脚本

对目录/文件夹的rwx操作有哪些指令

r:ls,ll

w:mkdir,rmdir,touch

x:cd

如何确定当前登录用户对某个文件/目录的操作权限

1.确定登录用户是谁 假设是zcy

2.看ll信息 确定文件所属用户是谁

3.如果就是zcy 那么看123

4.如果不是zcy 但是是同一个组的 那么看456

5.否则看789

案列:

chmod修改文件/目录权限

案例1:让root对test.txt有执行的权限

这里有一个注意点:

其实 下面是u还是g还是o 是我分析出来的
这里root对text.txt的权限本来看的就是u 所以我改u才有意义

案例2:让张三对test.txt有rwx的操作

修改权限的时候 还要去root下改 才能成功

收回权限

就是-

使用数字整体修改权限

  • 第一种方式变更权限:chmod [{ugoa}{±=}{rwx}] 文件或目录

  • 第二种方式变更权限:chmod [mode=421] 文件或目录

  • u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

  • r=4 w=2 x=1 rwx=4+2+1=7

  • 只要使用数字 三个数字就能确定九位权限 比如674-唯一对应rw- rwx r--

    chmod u-x,o+x houge.txt
    chmod 777 houge.txt

chown改变文件/目录所有者(就是u 也就是所属用户)

也要来到root用户才能修改
chown -R lisi abc 才能把所有子目录/文件的所有者都改成lisi

chgrp改变文件/目录所属组

chgrp -R lisi abc 才能把所有子目录/文件的所属组都改成lisi

下面这样可以把所属组+所有者一步到位

5.搜索查找类

locate

locate只能查找到索引库里有的东西

自己中途加进去的东西要么重启一下系统

要么使用updatedb 指令更新一下索引库

才能检索到
注意:/tmp目录下所有内容都不会更新到索引库里

grep

常规用法(不常用)

管道符,"|",表示将前一个命令的处理结果输出传递给后面的命令处理(常用)

6.压缩和解压缩

zip/unzip

  • zip [选项] 自定义名字.zip 将要压缩的文件/目录(如果是目录 需要加一个-r)
  • unzip [选项] 自定义名字.zip

案例

tar打包(打包的过程中发生了压缩)

tar [选项] XXX.tar.gz 将要打包进去的内容

直接记住
打包zcvf:

tar -zcvf houma.tar.gz houge.txt bailongma.txt(压缩多个文件)

tar -zcvf xiyou.tar.gz xiyou/(压缩目录)

解包zxvf:

tar -zxvf houma.tar.gz(解压到当前目录)

tar -zxvf xiyou.tar.gz -C /opt(解压到指定目录)

7.进程线程类

进程和线程的概念

参考博客线程与进程,你真得理解了吗

ps 查看当前系统进程状态

ps -aux | grep xxx
ps -ef | grep xxx

如果想查看进程的CPU占用率和内存占用率 可以使用aux

如果想查看进程的父进程ID可以使用ef

ps -aux


ps -ef

kill杀死进程

  • kill [选项] 进程号:通过进程号杀死进程 选项可以选择加上-9 暴力强迫且一定能杀死该进程
  • killall 进程名称:通过进程名称杀死进程 支持通配符 这在系统因负载过大而变得很慢时很有用

top查看系统健康状态

netstat显示网络统计信息和端口占用情况

  • netstat -anp | grep 进程号:查看该进程网络信息
  • netstat --nlp | grep 端口号:查看网络端口号占用情况
相关推荐
韩楚风9 分钟前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学12 分钟前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO18 分钟前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu734 分钟前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我36 分钟前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、36 分钟前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程37 分钟前
Linux中环境变量
linux
我是哈哈hh1 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈1 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -1 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记