IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux基础 -> 正文阅读

[系统运维]Linux基础

一、Linux目录结构

在linux中没有盘符的概念 , 有的只是 文件夹和文件。
/ 是操作系统的最顶层目录 , 即跟目录 , 所有的路径都是以/开始 , 所有的内容都在/下 。
Linux目录结构如下:
Linux目录结构

  • /bin: (binaries) 存放系统命令的目录,所有用户都可以执行。
  • /sbin : (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。
  • /usr/bin:存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式下不能执行
  • /usr/sbin:存放根文件系统不必要的系统管理命令,超级用户可执行
  • /root: 存放root用户的相关文件,root用户的家目录。宿主目录 超级用户
  • /home:用户缺省宿主目录 eg:/home/spark 普通用户的家目录
  • /tmp:(temporary)存放临时文件
  • /etc:(etcetera)系统配置文件
  • /usr:(unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等
  • /proc:虚拟文件系统,数据保存在内存中,存放当前进程信息
  • /boot:系统启动目录 reboot halt关机
  • /dev:(devices)存放设备文件 网卡 声卡 显示 CD 打印机
  • /sys :虚拟文件系统,数据保存在内存中,主要保存于内存相关信息
  • /lib:存放系统程序运行所需的共享库
  • /lost+found:数据备份目录。
  • /var:(variable) 动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等
  • /mnt:(mount)挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录
  • /media:挂载目录。 挂载媒体设备,如软盘和光盘
  • /misc:挂载目录。 挂载NFS服务
  • /opt: 第三方安装的软件保存位置。 习惯放在/usr/local/目录下
  • /srv : 服务数据目录

二、Linux基础命令

1. cd:切换目录

英文:change directory

命令路径:内部命令

执行权限:所有用户

作用:切换目录

语法:cd [目录]

  • cd / 切换到根目录
  • cd … 回到上一级目录
  • cd - 显示并打开到上一次操作的目录
  • cd ~ 打开当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)

2. pwd:显示当前工作目录

英文:print working directory

命令路径:/bin/pwd

执行权限:所有用户

作用:显示当前工作目录

语法:pwd

3. ls:显示目录下的文件

英文:list

命令路径:/bin/ls

执行权限:所有用户

作用:显示目录下的文件

语法:ls [-alrRd] [文件或目录]

  • ls -a (all) 显示所有文件,注意隐藏文件,特殊目录.和…
  • ls -l (long) 显示详细信息
  • ls -R(recursive) 递归显示当前目录下所有目录
  • ls -r (reverse) 逆序排序
  • ls -t (time) 按修改时间排序(降序)
  • ll 相当于 ls –l

4. mkdir:创建新目录(创建新文件夹)

英文:make directories

命令路径:/bin/mkdir

执行权限:所有用户

作用:创建新目录

语法:mkdir [-p] 目录名

  • mkdir -p 父目录不存在情况下先生成父目录 (parents)
    (eg: # mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。)

5. touch:创建空文件或更新已存在文件的时间

命令路径:/bin/touch

执行权限:所有用户

作用:创建空文件或更新已存在文件的时间

语法:touch 文件名
(eg:# touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件
创建带空格的文件 eg:touch “program files” 在查询和删除时也必须带双引号
注意:生产环境中,文件名,一定不要加空格

6. echo:将内容打印在控制台显示

语法:echo “hello”
echo “hello” > 1.txt 覆盖
echo “hello” >> 1.txt 追加内容
(> 或 >> ,叫做重定向,作用:将左边命令的标准(错误)输出,重定向到右边所指定的文件)

7. cp:复制文件或目录

英文:copy

命令路径:/bin/cp

执行权限:所有用户

作用:复制文件或目录

语法:cp [–rp] 源路径… 目标路径

  • cp -r(或-R)递归处理,复制目录,英文recursive
  • cp -p 保留文件属性 (原文件的时间不变)

eg:
1,相对路径 cp –R /etc/* . cp –R …/aaa …/…/test/
2,,绝对路径 cp –R /ect/service /root/test/aa/bb

8. mv:移动文件或目录、文件或目录改名

英文:move

命令路径:/bin/mv

执行权限:所有用户

作用:移动文件或目录、文件或目录改名

语法:mv 源路径 目标路径(可以移动,并可以重命名。)
以一个已存在的目录结尾时为移动,以一个不存在的名字结尾时为重命名

9. rm:删除文件或目录

英文:remove

命令路径:/bin/rm

执行权限:所有用户

作用:删除文件

语法: rm [-rf] 路径

  • rm -r (recursive) 删除目录,同时删除该目录下的所有文件
  • rm -f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
    后面可跟通配符,如rm -rf *(删除当前目录下的所有文件,这个命令很危险,应避免使用。
    所删除的文件,一般都不能恢复)、rm -rf *.txt

注意:工作中,谨慎使用rm –rf 命令。

扩展点:删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;
就能顺利删除了

10. ln:产生链接文件(即快捷方式), 方便操作文件

英文: link

命令路径:/bin/ln

执行权限:所有用户

作用:产生链接文件 , 方便操作文件

语法:

  • ln -s [源文件] [目标文件] 创建软链接 源文件使用绝对路径
  • ln [源文件] [目标文件] 创建硬链接

eg:ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft
eg:ln /etc/service /service.hard
创建文件/etc/service的硬链接/service.hard

硬链接: 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块
软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。

软连接类似于windows下的快捷方式
软连接文件属性:
lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service -> /etc/services

软链接格式解析(特征):
1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx
2,-> 箭头指向到源文件
真正的权限取决于对源文件的权限
时间值为创建软连接的时间
软链接可以跨文件系统生成

硬链接特征
1,相当于 cp -p +同步更新 (相当于复制了一个文件,并会随着源文件修改而修改)
2,通过i节点识别,与源文件有相同的inode节点
3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)
4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)

硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。

删除软连接
rm -rf symbolic_name

-s和不加-s的区别
1)-s 是软连接 指向源文件 -->
2)当删除源文件后会报错
3)源文件修改 , 内容也会修改
4)硬连接一种复制 , 源文件修改 , 内容也会修改
5)硬连接:当删除源文件后不会报错

11. cat:显示文件内容

英文:concatenate

命令路径:/bin/cat

执行权限:所有用户

作用:显示文件内容

语法:cat [-An] [文件名]

  • cat -A [文件名] 显示所有内容,包括隐藏的字符
  • cat -n [文件名] 显示行号
    eg:cat /etc/services

12. more:分页显示文件内容

命令路径:/bin/more

执行权限:所有用户

作用:分页显示文件内容

语法:more [文件名]

  • 空格或f 显示下一页
  • Enter键 显示下一行
  • q或Q 退出

more只能向下翻页

13. less:分页显示文件内容

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

语法:less [-N] 文件

参数说明:

  • -N 显示每行的行号
  • j 向后滚动一行
  • k 向前滚动一行
  • b 向后翻一页
  • d 向后翻半页
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • gg 直达文件首页
  • G 直接文件末尾
  • /关键字或?关键字 搜索关键字(按n找下一个)
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页
  • q 退出查看内容

14. head:查看文件前几行(默认10行)

命令路径:/usr/bin/head

执行权限:所有用户

作用:查看文件前几行(默认10行)

语法:head [-n] [文件名]

  • head -n [文件名] 显示前n行
    eg:head -20 /etc/services head –n 3 /etc/services

15. tail:查看文件的后几行

作用:查看文件的后几行

语法:tail [-nf] [文件名]

  • -n 指定显示后几行
  • -f (follow) 动态显示文件内容
  • -F 动态显示文件内容

获取一个大文件的部分文件,可使用head或tail命令
head -n 100 /etc/services >config.log
(> 或 >> ,叫做重定向,作用:将左边命令的标准(错误)输出,重定向到右边所指定的文件)

-f 依据inode号跟踪,如果目标文件被重命名,则新创建的同名文件不会被跟踪
-F 依据路径名跟踪,如果目标文件被重名,然后创建了同名的新文件,则会继续跟新文件

16. find:查找文件或目录

根据文件名、路径、文件类型、修改创建时间等信息搜索文件

命令路径:/bin/find

执行权限:所有用户

作用:查找文件或目录

语法:find [搜索路径] [匹配条件]

如果没有指定搜索路径,默认从当前目录查找

find命令选项

  • -name 按名称查找 精准查找
    eg:find /etc -name “init” 在目录/etc中查找文件init
    find查找中的字符匹配:
    *:匹配所有
    ?:匹配单个字符
    eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件
    模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用单双引号括住查询条件,或者使用\*。
    eg: # find . –name *g
  • -size 按文件大小查找
    以block为单位,一个block是512B, 1K=2block +大于 -小于 不写是等于
    eg:find /etc -size -204800 在etc目录下找出小于200MB的文件
    100MB=102400KB=204800block
  • -type 按文件类型查找
    f 二进制文件
    l 软连接文件
    d 目录
    c 字符文件
    eg: find /dev -type c

find查找的基本原则:
占用最少的系统资源,即查询范围最小,查询条件最精准
eg:
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/

17. grep:在指定的文件的内容中搜索“关键词”

命令路径:/bin/grep

执行权限:所有用户

作用:在文件中搜寻字串匹配的行并输出
在命令的输出中搜索内容

语法:grep [-cinv] ‘关键词’ filename

选项与参数:

  • -c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
  • -i :忽略大小写,所以大小写视为相同
  • -n :显示匹配行及行号
  • -v :反向选择,显示不包含匹配文本的所有行。

18. gzip:压缩(解压)文件,压缩文件后缀为.gz

英文:GNU zip

命令路径:/bin/gzip

执行权限:所有用户

作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录;不保留原文件

语法:gzip 文件

  • gzip -d 文件(或gunzip 文件):将压缩文件解压(decompress)
  • gzip 文件:压缩文件

19. tar:文件、目录打(解)包

命令路径:/bin/tar

执行权限:所有用户

作用:文件、目录打(解)包

语法:tar [-zcf] 压缩后文件名 文件或目录

  • -c 建立一个压缩文件的参数指令(create),后缀是.tar
  • -x 解开一个压缩文件的参数指令(extract)
  • -z 以gzip命令压缩/解压缩
  • -j 以bzip2命令压缩/解压缩
  • -v 压缩的过程中显示文件(verbose)
  • -f file 指定文件名,必选项

单独的压缩 解压缩 tar –cf tar –xf
打包之后,进行压缩 gzip bzip2
一步到位 tar –zcvf tar -zxvf

tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2

tar -zcvf my.tar.gz 文件1 文件2 文件3… 多个文件打包压缩为my.tar.gz
tar -zcvf /root/my.tar.gz 文件1 文件2 文件3… 多个文件打包压缩为到root下的my.tar.gz
tar -zxvf my.tar.gz 解压缩文件
tar -zxvf my.tar.gz -C 文件夹/ 解压缩文件到指定目录

最常用: tar + gzip
tar –zcf 压缩
tar –zxf 解压
源文件是保留的,不会被删除

20. which:显示系统命令所在目录(绝对路径及别名)

命令路径:/usr/bin/which

执行权限:所有用户

作用:显示系统命令所在目录(绝对路径及别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

语法:which 命令名

eg:
# which ls
alias ls=‘ls --color=auto’
/bin/ls

21. whereis:搜索命令所在目录 配置文件所在目录 及帮助文档路径

命令路径:/usr/bin/whereis

执行权限:所有用户

作用:搜索命令所在目录 配置文件所在目录 及帮助文档路径
eg: which passwd 和 whereis passwd
eg:查看/etc/passwd配置文件的帮助,就用 man 5 passwd

22.main、help 帮助命令的使用

方式1:使用man来查看详细文档
man pwd
man java
方式2:使用help来查看简洁帮助信息
查看到命令的一些参数说明
eg: help cd

type 命令 查看内部命令还是外部命令

23.alias命令别名定义

给一个长命令定义别名
eg:alias xx=‘ls -la’

三 、VI编辑器(VIM)

vi 文件名 即可进入vi编辑器查看文件内容(命令模式),点i或a或o进入编辑模式,可对文件内容进行编辑

1.插入命令

  • a:在光标后附加文本
  • A(shift+a):在本行行末附加文本(行尾)
  • i:在光标前插入文本
  • I(shift+i):在本行开始插入文本(行首)
  • o:在光标下一行插入新行
  • O(shift+o):在光标上一行插入新行

2.定位命令

  • :set nu:设置行号
  • :set nonu:取消行号
  • gg:到第一行
  • G:到最后一行
  • nG:到第n行
  • :n:到第n行

3.保存和退出命令

  • :w:保存修改
  • :w new_filename:另存为指定文件(源文件仍在)
  • :w >> a.txt:内容追加到a.txt文件中 文件需存在
  • :wq:保存修改并退出
  • :wq!:保存修改并强制退出(文件所有者可忽略文件的只读属性)
  • shift+zz(ZZ):快捷键,保存修改并退出 相当于 :wq
  • :q!:不保存修改退出
  • ctrl+z 将命令挂起在后台 用ll -a可看到挂起的文件,是和源文件同名的.swp文件,可使用fg [number]打开,也可用rm -rf 文件名直接删除

4.删除命令

  • x:删除光标所在处字符
  • nx:删除光标所在处后n个字符
  • dd:删除光标所在行
  • ndd:从光标所在位置开始删除n行
  • :n1,n2d:删除指定范围的行(eg :1,3d 删除了123这三行)
  • dG:删除光标所在行到末尾的内容
  • D:删除从光标所在处到行尾

5.复制和剪切命令

  • yy、Y:复制当前行
  • nyy、nY:复制当前行以下n行
  • dd:剪切当前行
  • ndd:剪切当前行以下n行
  • p:粘贴在当前光标所在行下
  • P(shift + p):粘贴在当前光标所在行上

6.替换和取消命令

  • r:取代光标所在处字符
  • R(shift + r):从光标所在处开始替换字符,按Esc结束
  • u:undo,取消上一步操作
  • ctrl+r:redo,返回到undo之前

7.搜索和替换命令

  • /string:向后搜索指定字符串 搜索时忽略大小写 :set ic
  • ?string:向前搜索指定字符串
  • n:搜索字符串的下一个出现位置,与搜索顺序相同
  • N(Shift + n):搜索字符串的上一个出现位置,与搜索顺序相反
  • :%s/old/new/g:全文替换指定字符串
  • :n1,n2s/old/new/g:在一定范围内替换指定字符串
% 指全文,s 指开始,g 指全局替换	
    起始行,终止行s/要替换的字符串/替换的新的字符串/g    c 询问确认
    eg: :%s/ftp/yang/g    全局替换,把ftp替换为yang
    eg: :41,44/yang/lee/c   从41行到44行,把yang替换为lee,询问是否替换
    eg: :41,44/yang/lee/g   同上,不询问,直接替换
    eg: :%s/\/root/\/ROOT/g  把/root替换为/ROOT
    eg: :%s#/bin/bash#/bin/ksh/g        把/bin/bash全部替换为/bin/ksh
使用替换命令来添加删除注释
:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令??
:!which cp
vi里面怎么导入命令的结果?
:r !which cp

四、权限管理

权限是不同的用户对不同的文件夹或者文件拥有不同的操作权利!
linux中有三种权限:

  • R 可读
  • W 可写
  • X 可执行权

作用: 限制不同用户对文件的操作 ,保证系统数据的安全
root是超级用户 ,不受权限的控制!
权限是对普通用户来说的 , 权限可以分配, 由超级管理员分配!

1.用户管理

  • useradd:添加用户
    语法:useradd [选项] 用户名
    eg:useradd lxl 添加一个名为lxl的用户
  • passwd:修改密码命令
    语法:passwd [选项] [用户名]
    用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符, 要定期更换密码。
  • userdel -r 用户名
    删除用户
    -r 删除账号时同时删除宿主目录(remove)
  • groupadd group1: 添加组
  • su 用户名:切换到该用户(使用exit退出)

2.文件权限

不同用户(不同的用户的组)对不同的文件具有不同的操作权利叫做权限
r 读权限(read) 可读
w 写权限(write) 可写
x 执行权限 (execute) 可执行

权限说明
使用ll可以看到每个文件的详情信息,包括前面的权限前缀,如:
文件权限

文件所属用户  文件所属组  其他人
第1位:文件类型(f 二进制文件,d 目录,- 普通文件,l 链接文件) (文件的类型)
第2-4位:所属用户(所有者)权限,用u(user)表示(用户的权限)
第5-7位:所属组权限,用g(group)表示(用户所在组的权限)
第8-10位:其他用户(其他人)权限,用o(other)表示(不在组中的其他人)
第2-10位:表示所有的权限,用a(all)表示 所有人

文件夹的权限是建立在可执行权之下的,若一个人对一个文件夹只有r和w权限,却没有x权限,则他无法对该文件夹读写

3.chmod:权限更改

英文:change mode (change the permissions mode of a file)

作用:改变文件或目录权限

语法:chmod [{ugoa}{±=}{rwxX}] [文件名或目录]

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
  • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
  • –help : 显示辅助说明
  • –version : 显示版本

例如:chmod u+x a.txt 为a.txt文件的拥有者增加执行权限
chmod -R u+x 文件夹名 递归设置权限

用数字来表示权限 r=4(100),w=2(010),x=1(001),-=0
其实是用二进制来表示的

例如:chmod  573  b.txt即为
\-r-x      rwx      -wx       b.txt
  101      111      011
   5        7        3

rwx和数字表示方式能随意切换
注意:root用户是超级用户,不管有没有权限,root都能进行更改。用普通用户测试权限。
不能用一个普通用户去修改另一个普通用户的权限。

4.chown:更改所有者

英文:change file ownership

作用:更改文件或者目录的所有者

语法 : chown user[:group] file…

  • -R : 递归修改

参数格式 :

  • user : 新的档案拥有者的使用者 ID
  • group : 新的档案拥有者的使用者群体(group)

eg:#chown lee file1 把file1文件的所有者改为用户lee
eg:#chown lee:test file1 把file1文件的所有者改为用户lee,所属组改为test
eg:#chown –R lee:test dir 修改dir及其子目录的所有者和所属组

5.chgrp:改变所属组

英文:change file group ownership

作用:改变文件或目录的所属组

语法 : chgrp [group] file…

eg:chgrp root test.log 把test.log的所属组修改为root

五、网络管理

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-27 12:16:30  更:2021-08-27 12:18:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:31:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码