linux基础合集

基础

linux介绍

介绍:Linux是一套免费使用和自由传播的操作系统。说到操作系统,大家比较熟知的应该就是Windows和MacOS操作系统,我们今天所学习的Linux也是一款操作系统。
使用:使用linux可以选择虚拟机、wsl、云服务器

Linux目录结构:

编号目录含义
1/bin存放二进制可执行文件
2/boot存放系统引导时使用的各种文件
3/dev存放设备文件
4/etc存放系统配置文件
5/home存放系统用户的文件
6/lib存放程序运行所需的共享库和内核模块
7/opt额外安装的可选应用程序包所放置的位置
8/root超级用户目录
9/sbin存放二进制可执行文件,只有root用户才能访问
10/tmp存放临时文件
11/usr存放系统应用程序
12/var存放运行时需要改变数据的文件,例如日志文件

root用户

root有着最高的系统控制权限。
使用root权限执行命令

1.登录root用户

2.可以借助sudo命令临时获取权限

只有认证的用户才可以使用
  sudo cat /etc/shadow

命令自动补全

按一下Tab键可以自动补全命令或者文件名。
如果有多个选项则会补全最多重复名称
按下2下Tab可以自动列出所有可选的名称

强制中断

ctrl+c

历史记录

方向键上下查看上/下命令
ctrl+p/n 查看历史记录中的上/下命令
ctrl+r 向上搜索历史记录
alt+p 向上搜索历史记录
alt+>移动到历史记录末尾
history命令查看
  history 命令
  -c 清空所有历史记录
  数字 查看最近数字条记录
  
  !!  重复执行上一条命令
  !n  运行历史记录的第n条命令
  fc  编辑并执行上一条指令
  fc -n   编辑并执行倒数第n条指令
  !-n   运行倒数第n条指令
  !$  运行前一条指令最后的参数

管道

把多个命令连接起来,把一个命令的输出作为下一个命令的输入
  cat /etc/passwd | grep zp
  在/etc/passwd中查询zp记录

重定向

输入重定向
将命令的结果不在输出到显示屏,而是输出到后面
命令> 文件    覆盖
命令>>文件    添加到文件后面
输出重定向
不在将键盘作为输入来源,而是将文件作为。
   命令 <  参数来源
   
   命令 << 分割符
   > 文本内容
   > 分隔符
     该重定向会允许你一直输入知道输入分隔符停止
错误重定向
语法和输入重定向比较像,这个命令会将左边错误信息添加到右边 和输入重定向不一样的是>前面有数字2
  命令 2>  文件
  命令 2>> 文件

命令排序

;
命令1;命令2
先执行1无论对错在执行2
&&
命令1对在执行2
||
命令1不成功才执行2

命令续行

\来实现 \也可以作为转义符

命令替换

将命令的结果作为命令的参数
$()和``实现

kill -9 $(pidof vi) 查找vi在杀死

命令别名

查看已经定义的别名

alias

创建别名

alias [别名]=[需要定义别名的命令]

取消别名

unalias [别名]

基础命令:

格式:commond [-options] [parameter]
     commond是命令
      options是选项
     parameter是参数

切换用户 su

su [-] 用户
  - 是否加入环境参数

回退用户

回退到上一个用户
  exit命令
  ctrl+d

临时获取root权限 sudo

  sudo 命令

获取sudo认证 visudo

visudo
在文件末尾添加
用户名 ALL=(ALL)
wq保存

获取帮助命令

man

  获取手册(usr/share/man)目录下的资源
  能够查看命令语法、各选项的意义以及相关命令
  man 命令名

info

提供另一种格式的文档,相比man更有交互性
  info 命令名

–help

不同的是会直接显示出来,而不是出现新的界面
  命令名 --help

切换目录 cd

cd(change directory)

~ 用户的home目录

. 所在目录

./ 上一层

查看目录文件 ls

ls(list) 查看当前目录的内容

-l 查看当前目录的详细内容
可以缩写成ll

-a 显示所有的文件和目录(隐藏的也会显示)
.开头的都是隐藏

搜索内容 grep

grep 从指定文件中查找内容
grep work filename区分大小写

清理屏幕 clear

clear 清屏/ctrl+l

查看命令的所在文件which

which 命令

权限控制信息

rwx 顺序代表读,修改(创建/删除/改名等),执行

  • 代表没有权限

修改权限控制chmod

  chmod [-R] 权限 文件/文件夹
  -R 对文件夹内所有文件进行操作
  

文件和目录管理

文件类型

文件属性
drwxr-xr-x

1代表文件类型

- 常规文件
d 目录
b 块设备,如硬盘
c 字符设备 如键盘
l 符号链接,软链接
p 命令管道文件
s 套接字socket 通讯文件
2-4代表用户权限
5-7代表用户组权限
7-10代表其他用户权限

权限的内容见权限管理

文件命令

用于字符串的输出 echo

  echo string
  -e 开启转义

文件详细详细 stat

用于显示文件或文件系统的详细信息。在显示文件信息时,比ls命令更加详细。
  stat 文件
  

创建文件 touch

  若文件不存在,则创建,也可以用于修改文件的访问时间和修改时间
  touch [选项] [文件]
  -a   只修改访问时间
  -m    只更改修改时间
  -c    如果目标档案不存在,则不会创建新的档案
  -t    使用指定时间,而不是当前时间
  -r    把指定的文件或目录时间设置为和参考文件或目录时间相同
  --no-create 不会建立新档案。

删除文件 rm

删除文件
  rm [选项][文件]
  -i 删除前逐一询问确认。
  -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  -r 将目录及以下之档案亦逐一删除。
  [rm -rf 直接强制删除 慎用]

链接文件 ln

  ln [选项] [源文件或目录][目标文件或目录]
  -s 建立软链接(类似快捷方式)
  空格 建立硬链接
  -f 强制执行-n 把符号链接视为一般目录
  -v 显示详细的处理过程
  
  --backup[=CONTROL] 备份已存在的目标文件
  -b 类似 --backup ,但不接受参数
  -d 允许超级用户制作目录的硬链接
  -i 交互模式,文件存在则提示用户是否覆盖

复制文件/重命名 cp

复制文件/目录复制的目录参数加/文件名   可以实现改名
  cp [选项] 源文件 目的文件
  -r 复制目录则要r

移动文件/重命名 mv

移动文件/重命名
mv 可以对文件进行改名、或者移动  相当于另存为后删除原来的文件
mv source dest 改名还是移动取决于dest存不存在
mv a.txt b.txt 将a.txt 改名为b.txt
mv a.txt dir(/b.txt) 将 a.txt 移动到dir里面(并且改名为b.txt)

显示文件内容 cat

  cat 文件
  -n 由1开始显示编号

以分页来查询文件内容 more

q/ctrl+c  退出
b  向上滚动一屏
空格  向下滚动一屏
回车  x向下滚动一行

查看文件的末尾 tail

-f 动态读取文件末尾并显示,常用于日志输出
不加数字则是末尾10行,-20则是20行

找文件 find

  finad 【】 文件名
    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
  -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
  -type c : 文件类型是 c 的文件。

文本编辑 vi

vi

vim(可以说是vi的升级,可以着色)
查找、实现行号、退出
命令模式:,/进入
:就可以由以下  wq 退出 q!不保存退出  set nu 显示行号
/ 就可以对文件进行查找

底行模式
在命令模式i/a/o进入插入模式

ESC会回到命令模式
插入模式

移动 上下左右
gg快速到开头
G快速移动到末尾

命令模式

vim安装

yum install vim

目录命令

查看当前在哪个目录 pwd

查看当前在哪个目录
无参数

创建目录 mkdir

-p 可以对多层目录同时存在的时候进行创建

删除空目录 rmdir

-p 当子目录删除后,如果父目录为空则也删除

打包压缩 tar

文件类型.tar只压缩
.tar.gz打包并压缩

tar [-zcxvf] fileName [files]
fileName 指定名称 如x.tar.gz
files指定打包文件

-z 压缩或者解压
-c 创建新的包
-x 从包中还原/解压
-v 显示执行过程
-f 用于指定包名称
-C 解压到指定地点

用户管理

用户配置文件

/etc/passwd
所有用户信息都存储在其中
每一行保存一个用户用:分割
username:password:uid:gid:userinfo:home:shell
username 用户名
password 加密密码,显示为x,其被映射到shadow文件中
uid 用户ID,root用户id为0,系统用户1-999,普通用户从1000开始
gid 用户组ID
userinfo 注释信息
shell 用户默认登陆的shell
/etc/shadow
是/etc/password的影子文件,主要保存账户密码配置情况
username:password:lastchg:min:max:warn:incative:expire:flag
password 如果是!/*则表示还没有设置密码或者不会用这个账号登录
lastchg 最后一次修改密码的日期,1970/1/1到上一次修改所花的时间
min 密码允许更换前的天数
max 密码需要更换前的天数
warn 密码更换警告的天数
incative 账号被取消激活前的天数,表示还有多少天该用户就会被禁止登录;或者说用户密码过期多少天后被禁用
expire 用户被禁止登录的时间
flag 保留字段

添加用户

通用useradd
  useradd[选项][用户名]
  -c 加上注释
  -d 指定用户主目录
  -g 指定用户所属用户组
  -G 指定用户所属附加组
  -s 指定用户的登录shell
  -u 指定用户的用户号
  -e 指定账户的有效期限
  -f 密码过期多少天后官迷用户
  -r 建立系统用户
Ubuntu 专用 adduser

修改用户

修改密码 passwd
  passwd [选项][用户名]
  使用后根据提示修改密码
  -d,--delete 删除指定用户密码
  -e,--expire 强制使账户密码过期
  -l,--lock 锁定
  -k,--keep-tokens 仅在密码过期后修改
  -i,--inactive INACTIVE 密码过期后设置密码活动为INACTIVE
  -u,--unlock 接触锁定
  -n,--mindays  设置下次修改密码所需要等待时间
  -q,--quiet 设置安静模式
修改账户信息 usermod
  usermod [选项][用户名]
  -c 注释
  -d 登入时间
  -e 有效时间
  -f 缓冲天数
  -l 账户名称
  -L 锁定用户密码
  -u 修改用户ID
  -U 解除密码锁定
修改密码过期信息 chage
  chage [选项][用户名]
  -d 最后修改时间
  -E 过期日期,0马上过期,-1永不过期
  -h 显示帮助信息并且退出
  -I 密码过期后,锁定账户天数
  -l  列出用户以及密码有效期
  -m 2次密码修改的最小天数
  -M 密码保存有效的最大天数
  -W密码过期前,提前收到警告天数

删除账户

userdel
  userdel [选项][用户名]
  -r 删除用户目录和目录所有文件
  -f 强制
ubuntu deluser

用户组管理

配置文件

/etc/group 文件
显示组账户的配置文件
group_name:password:id:members
组名称
密码如果为x则映射到gshadow
用户组id
用逗号分隔的成员
/etc/gshadow
name:password:id:members

创建组

groupadd
  groupadd [][]
  -f 如果组存在则此选项失败,如果gid被使用则-g失效
  -g 设置gid
  -K 不适用/etc/login.defs中默认值
  -o 可以重复gid组
  -r 系统组
addgroup

修改组

  groupmod [选项][]
  -g <群组识别码>  设置欲使用的群组识别码。
  -o  重复使用群组识别码。
  -n <新群组名称>  设置欲使用的群组名称。

删除组

  groupdel[][]

管理组

  gpasswd[][]
  -a 添加用户到组
  -d 删除组的一个用户
  -A 指定管理员
  -M 指定组成员
  -r 删除密码
  -R限制用户登录组

磁盘管理

查看磁盘设备文件列表

linux操作系统的设备文件位于/dev中
查看磁盘设备一般寻找sd开头的那么就是

ls /dev/sd*

列出文件系统的整体磁盘使用量 df

  df [选项][目录或文件名]
  -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
  -k :以 KBytes 的容量显示各文件系统;
  -m :以 MBytes 的容量显示各文件系统;
  -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
  -H :以 M=1000K 取代 M=1024K 的进位方式;
  -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
  -i :不用硬盘容量,而以 inode 的数量来显示

检查磁盘空间使用量 du

  du [选项] 文件名或目录
  -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
  -h :以人们较易读的容量格式 (G/M) 显示;
  -s :列出总量而已,而不列出每个各别的目录占用容量;
  -S :不包括子目录下的总计,与 -s 有点差别。
  -k :以 KBytes 列出容量显示;
  -m :以 MBytes 列出容量显示;

fdisk 磁盘分区表操作

  fdisk [选项] 装置名称
  -l 列出指定磁盘设备的分区表状态
  -u 改变分区大小的显示方式
  -s 以扇区单位显示分区大小
  -b 显示扇区计数和大小
  -v 显示版本信息

fdisk命令交互界面

  p 打印该磁盘的分区表,显示磁盘分区信息
  n 创建一个新分区
  d 删除磁盘分区
  e 创建扩展分区
  m 打印fdisk命令帮助
  t 改变分区类型
  w 保存退出
  q 不保存退出

文件系统管理

支持的文件系统

linux首选文件系统是ext,主要有ext2、ext3、ext4等。Ubuntu使用ext4作为默认

查看linux支持的文件系统类型

  ls /lib/modules/$(uname -r)/kernel/fs

创建文件系统命令 mkfs

  mkfs [选项] [-t <类型>][文件系统选项]<设备>[<大小>]
  -t 指定文件系统的类型,不指定,使用预设值ext2
  -c 在建立文件系统前检查该partition(分组)是否有坏道
  -V 详细显示模式,解释在运行的操作
  大小 设备块数
  设备 设备路径
  -v 显示版本

其他工具有

mke2fs、mkfs.ext2、mkfs.ext3、mkfs.ext4、mkfs.ext5

文件系统挂载 mount

  mount [选项] 设备名 挂载点
  -t 文件系统类型,通常不指定会自动选择
  -L 卷标
  -o 挂载选项
      loop 用来将一个档案当成硬盘分割挂上系统。
      ro 只读方式
      rw 读写方式
      iocharset 指定字符集

文件系统卸载 umount

  umount [选项] <> |<目录>
  -a 卸载/etc/mtab中所有文件系统
  -n 卸载不要将信息存入/etc/mtab文件中
  -r 若无法成功卸载,则尝试只读方式挂载
  -t 只卸载选项中指定文件系统类型的文件系统
  -v 显示详细

文件系统检查和修复 fsck

  fsck[选项][设备名字]
  -p 不提示用户直接修复
  -c 检查可能的坏块,并将他们加入坏块列表
  -f 强制进行检查
  -n 只检查并修复
  -v 显示更多信息
  -y 所有问题都回答yes

进程管理

查看所有进程

  ps 查看进程
  可以用| 搭配grep一起使用,来查看特定的进程
  
  a 显示终端所有进程
  u 显示进程的归属用户和内存
  x 显示没有控制终端的进程
  l 长格式显示信息
  c 列出进程显示每个进程真正的指令名称
  f 显示进程关系
  j 采用工作控制的格式显示进程状况
  e 列出进程时,显示进程所使用的环境变量

动态监控

  top [选项]
  -d 刷新秒数,默认3s
  -b 使用批处理模式输出,一般和-n合用,用于把top命令重定向到文件
  -n 次数:指定top命令执行次数
  -p 进程pid
  -s 安全模式
  -u 用户名

查看进程树

  pstree [选项][进程号|用户]
  -a 显示命令行参数
  -c 不要对完全相同的子树压缩
  -h 高亮显示当前进程和其父进程
  -H 和h类似但是会特别表明指定程序
  -l 长列格式显示
  -n pid序列输出
  -p 显示pid
  -u 显示进程用户名
  

列出进程打开文件信息lsof

  lsof 文件 //查看文件进程
  lsof -p  //查看pid进程的打开的所有文件
  -i [协议] //列出[协议]所有网络连接
  -u //指定用户
  -a 所有
  -d 后缀
  -r //每秒打印次数

进程优先级控制

niceness越大优先级越低

调整优先级nice
  nice 命令[选项] 进程
  -n,--adjustment=N 将niceness设置成N(默认N为10)
  --version 显示版本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值