Linux学习笔记---不太完整的linux基本指令

最近复习了一下linux基础,用的是centos8,顺便记了一下笔记,笔记内容可能写得不是那么系统完整,写成博客出来也主要是当自己学习的一个打卡自嗨 ,希望能以写博客的形式来激励自己持续、努力地学习,所以如果是想学习相关知识的朋友可以再看看其他大佬们写的博客吧[笑哭]

帮助命令

功能指令备注
查看指令的使用方法man 指令其实以下的指令都可以通过这个指令查看更加详细的使用指南
help 指令

重启网络服务

nmcli c reload

关机重启命令

关机前最好先执行sync命令,sync命令能把内存内的数据存盘

功能指令备注
把内存数据存盘sync最好在重启或关机的时候执行一次
关机shutdown -h {now/n}now表示立即关机,n表示n分钟后关机
重启shutdown -r {now/n}/ reboot

管理用户

功能指令备注
添加新用户useradd hehe创建hehe用户,并自动在home目录下生成hehe目录
添加新用户并指定组useradd -g mygroup hehe创建hehe用户,并将它放在mygroup组中,注意得先创建好mygroup这个组
指定/修改密码passwd hehe不指定用户名就是修改当前用户的密码
删除用户userdel (-r) hehe带-r用户的家目录也会删除,不带的话保留家目录
查看当前用户whoami
查看当前用户的具体信息id hehe可查看hehe的uid,gid和所在组
切换当前用户的组usermod -g mygroup hehe把hehe用户切换到mygroup组下
切换成上一个用户exit

组管理

功能指令备注
添加组groupadd
删除组groupdel

权限管理

功能指令备注
修改文件所有者chown {用户名} {文件名}chown -R RR aa/ 把aa目录下的所有文件和目录的所有者改为RR
修改文件所在组chgrp {用户名} {文件名}也有-R
修改用户所在组usermod -g {组名} {用户名}这个用户的所有文件的组也会自动修改
修改文件或目录权限chmodu:所有者 g:所在组的用户
o:其他组的用户 a:所有用户
chmod a+r a 为所有用户增加读权限到a文件上
chmod 777 a给所有者,所在组用户,其他组用户增加a文件读写执行权限
chmod u=rwx,g=r,o=x a 按要求给a文件对对应人增加权限
[RR@localhost Desktop]$ ls -l
total 4
-rw-rw-r--. 1 root RR   0 Jun 26 15:01 a
drwxrwxr-x. 2 RR   RR  24 Jun 26 15:08 aaa
-rw-rw-r--. 1 RR   RR   0 Jun 26 15:01 b
-rw-rw-r--. 1 RR   RR 120 Jun 26 15:01 t.tar.gz

左边的一串字符中,第一个表示文件类型

  • -表示普通文件
  • d表示目录
  • l表示软链接
  • c表示字符设备
  • b表示块文件

后面9个字符,三个一组 rwx分别表示读、写、执行权限

rwx权限-
作用在文件上
r可以读取,查看文件
w可以修改,但不代表可以删除
x可以执行
作用在目录上
r可以读取,即用ls查看目录内容
w可以修改,即可以在目录下创建、删除、修改文件/目录
x可以执行,即可以进入目录

第一组表示文件所有者的权限

第二组表示文件所在组的用户的权限

第三组表示其他组的用户的权限

权限后面的数字,如果是普通文件表示硬链接数,如果是目录表示子目录数

接下去的是所有都,后面是所在组,再后面是文件大小(字节),然后是文件最后修改时间

文件目录类

功能指令常用选项/备注
显示当前路径的绝对路径pwd
以树状结构显示当前目录的结构tree
查看目录或文件内容ls {选项} {文件名}-l 以列表的形式显示内容
-a显示所有文件包括隐藏文件
切换路径cd
创建目录mkdir {选项} {文件名}-p创建多级目录
删除目录rmdir {文件名}一般用rm指令多一点
创建文件touch {文件名}可创建多个文件,中间用空格隔开
复制文件 ,覆盖前询问cp {选项} {源} {目的}-r 递归复制文件夹下面的内容
复制文件,覆盖不询问/cp {选项} {源} {目的}源和目的如果一样,可以当重命名使用
移动文件mv {选项} {文件名}
删除文件rm {选项} {文件名}-r 递归删除目录下的内容
-f 强制删除不提示
查看文件cat -n {文件名} | more-n 显示行号 ,| more 以管道的形式显示,部分快捷键如下:
空格 下一页
回车 下一行
= 输出当前页最后一行的行号
q 退出
输出重定向>能把东西写到文件中去,如果文件内有内容会覆盖,举个栗子
ls -l > 1.txt
cat 1.txt > 2.txt
echo “内容” > 1.txt
追加>>把内容追加到文件中去,用法同上
把内容显示到控制台上echo “内容”也可用来查看环境变量之类的
echo $PATH
把文件内容10行的内容显示出来head {-4} {文件名}通过 -加数字可指定显示多少行
把文件内容10行显示出来tail {-4} {文件名}-f 可实时监控文件的内容变化
软链接,类似windows下的快捷方式ln -s {源文件} {新文件}为源文件创建一个新文件,当使用这个新文件的时候,它会自动追寻并使用源文件
查看历史执行指令history默认查看全部指令
history 10 查看最近10条指令
执行历史操作指令!指令的号数指令的号数可通过history来查看

时间日期类

功能指令备注
显示日历calcal 2020 显示2020年的日历,默认只显示当前月份日历
显示日期datedate +%Y-%m-%d-%H-%M-%S 显示年月日时分秒,+号不可省略的,中间的-可以修改

搜索查找类

功能指令备注
查找文件find {查找范围} {选项} {查找内容}查找范围处可指定一个目录,它会从指定的目录开始遍历他下面的其他子目录及文件,查找目标文件
-name 按名字查找
-user 按用户查找
-size 按文件大小查找 +n大于n,-n小于n,n等于n
查找文件(速度快)locate {查找内容}通过数据库查找文件,因此第一次执行要先执行一次updatedb指令,没有及时更新数据库,可能查找出已经删除了的文件路径
过滤查找grep-n 显示行号
-i 不区分大小写
管道符号|能将前面指令获得的内容给后面的指令进行操作
cat a | grep -ni w 查找a文本中包含w(不区分大小写)的行,并显示行号

压缩解压类

功能指令备注
压缩文件gzip {文件名}把文件打成包,即在原文件上加上.gz后缀
解压文件gunzip {文件名}把文件解压出来,即在原文件上去掉.gz后缀
---
压缩文件zip {选项} {包名.zip} {文件名/路径名}-r 递归压缩,后面要传入一个目录,将目录下的所有内容打包
解压文件unzip -d {目录} {包名.zip}把包解压到指定目录
---
打包文件tar {选项} {文件名.tar.gz} {要打包的内容}-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解压.tar文件
将当前目录下的a b两个文件打包 tar -zcvf t.tar.gz a b
把包解压到当前目录tar -zxvf t.tar.gz
把文件解压到指定目录 tar -zxvf t.tar.gz -C 目录

crond任务调度

功能指令备注
任务调度crontab-e 编辑定时任务
-l 查询任务
-r 删除所有任务

crontab -e 进入编辑页面编写定时任务(如果任务较为复杂需要使用shell编程.sh格式,sh文件必须给所有者加上执行权限

百度查cron会有在线生成定时任务的代码的网站

* * * * * ls -l /home/RR/Desktop>a
#每分钟每小时每天第号第个星期一到日都将Desktop下的目录信息写入到a文件中去
*/1 * * * * /home/RR/a.sh

5个*对应的含义

  1. 一个小时中的第几分钟 0-59
  2. 一天中的第几个小时 0-23
  3. 一个月中的第几天 1-31
  4. 一年当中的第几月 1-12
  5. 一周当时的星期几 0-7 07都是星期日

每个占位符的特殊用法

  1. * 表示任何时间
  2. ,多个不连续的时间,中间用逗号隔开
  3. - 表示连续的时间范围
  4. */n 每隔多少个时间间隔执行一次

Linux分区

#查看分区和挂载情况
lsblk -f
[RR@localhost Desktop]$ lsblk -f
NAME        FSTYPE      LABEL UUID                                   MOUNTPOINT
sda                                                                  
├─sda1      ext4              04536ec1-362a-4bbd-a3e3-34bcf08b5994   /boot
└─sda2      LVM2_member       lNrSdN-4Mm2-DCei-be8h-e93v-1DJp-8o6eGx 
  ├─cl-root xfs               09dfb73e-bab4-424c-b8f5-80b323e8b353   /
  └─cl-swap swap              be865f5a-a0e0-40ab-8db4-563296211b64   [SWAP]
  • NAME 分区情况
  • FSTYPE 分区类型
  • UUID 识别分区的id
  • MOUNTPOINT 挂载点

添加一块硬盘

  1. virtual添加一块硬盘
  2. 分区 fdisk/dev/sdb
  3. 格式化 mkfs -t ext4 /dev/sdb1
  4. 挂载 先创建一个 /home/newdisk,挂载mount /dev/sdb1 /home/newdisk
  5. 设置可以自动挂载(永久挂载,重启会自动挂载)
vim /etc/fstab
/dev/sdb1   /home/newdisk   ext4 defaults 0 0

磁盘情况查询

[RR@localhost ~]$ df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             899M     0  899M   0% /dev
tmpfs                915M     0  915M   0% /dev/shm
tmpfs                915M  9.1M  906M   1% /run
tmpfs                915M     0  915M   0% /sys/fs/cgroup
/dev/mapper/cl-root   27G  5.0G   22G  19% /
/dev/sda1            976M  197M  713M  22% /boot
tmpfs                183M   16K  183M   1% /run/user/42
tmpfs                183M  4.0K  183M   1% /run/user/1000

查询指定目录的磁盘占用情况

[RR@localhost ~]$ du -h /home/RR/Desktop/
12K	/home/RR/Desktop/

# -s 指定目录占用大小汇总
# -h 带计量单位
# -a 含文件
# --max-depth=1 子目录深度

统计目录下有多少个文件,不包含目录

[RR@localhost Desktop]$ ls -l | grep "^-" | wc -l
3

# grep "^-" 找出以-开头的文件(文件用ls -l执行第一个字符就是-,如果是目录第一个字符是d)

# wc (word count) 统计

进程相关

功能指令备注
显示系统执行进程ps -aux
ps -ef
-a 显示所有进程
-u 以用户格式显示进程信息
-x 显示后台进程运行的参数
-f 显示全格式
-e 显示用户所有进程
通过进程号删除进程kill {选项} {进程号}-9 强制停止进程
通过进程名称删除进程killall {进程名称}支持通配符
查看进程树pstree {选项}-p 显示进程pid
-u 显示进程所属用户
动态查看进程top {选项}-d 10 每10秒刷新一次信息
top进入后
u查看指定用户进程
k选择要kill的进程
P按cpu占用排序
N按进程号排序
M按内存使用情况排序
查看系统网络情况netstat {选项}-an 按一定顺序排序
-p 显示哪个进程在使用
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.7 179216 14044 ?        Ss   12:46   0:03 /usr/lib/systemd/s
ystemd --switched-root --system --deserialize 17
root         2  0.0  0.0      0     0 ?        S    12:46   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        I<   12:46   0:00 [rcu_gp]
# USER:用户名称
# PID:进程号
# %CPU:进程占用CPU的百分比
# &MEM:进程占用物理内存的百分比
# VSZ:进程占用的虚拟内存大小(KB)
# RSS:进程占用的物理内存大小(KB)
# TT:终端
# STAT:进程状态,S睡眠,s会话先导进程,N进程有比普通优先级更低的优先级,R正在运行,D短期等待,Z僵死进程,T被忠恕上或者被停止
#START:进程的启动时间
#TIME:CPU时间,即进程使用的CPU总时间
#COMMAND:启动进程所用的命令和参数,命令过长会截断显示
[RR@localhost ~]$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 12:46 ?        00:00:03 /usr/lib/systemd/systemd --switched
root         2     0  0 12:46 ?        00:00:00 [kthreadd]
root         3     2  0 12:46 ?        00:00:00 [rcu_gp]
# PPID:你进程id
# C:cpu用于计算执行优先级的因子,数值越大,执行优先级降低
# STIME:进程启动的时间
# TTY:完整的终端名称
# TIME:cpu时间
# CMD:启动进程所用的命令和参数

服务相关

功能指令备注
管理服务systemctl {选项} {服务名}start 启动
stop 停止
restart 重启
reload 重载
status 状态
查看防火墙状态 systemctl status firewalld
查看服务systemctl list-unit-files

包管理相关

功能指令备注
查看已安装rpm(rpm相当于windows下的exe)rpm -qa | grep xxx-qa(quary all)
查看软件安装包是否安装rpm -q {软件名}
查看软件包里有哪些文件rpm -ql {软件名}
查看哪个文件属于哪个软件包rpm -qf {文件名}
删除rpm包rpm -e (–nodeps) rpm包名称如果有别的包依赖于它,则删除会报错,可以加上–nodeps强制删除
安装rpm包rpm -ivh {rpm包全路径名称0}-i 安装
-v 提示
-h 进度条

rpm(RedHat Package Manager)一种用于互联网下载包的打包及安装工具

yum相关

yum是一个shell前端软件包管理器,基于rpm包管理,能够从指定的服务器自动下载rpm包并安装,可以自动处理依赖关系,并一次安装所有依赖的软件包

功能指令备注
查看软件列表yum list | grep xxx
安装yum install xxx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值