栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux 基本操作

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 基本操作

Linux 基本操作
  • 1. 用户管理相关
    • 1.1 添加用户
    • 1.2 指定/修改 密码
    • 1.3 删除用户
    • 1.4 查询用户
    • 1.5 切换用户
    • 1.6 用户组
      • 1.6.1 新增用户组
      • 1.6.2 删除用户组
      • 1.6.3 增加用户时直接加上组
      • 1.6.4 修改用户组
  • 2. 文件目录相关
    • 2.1 cd
    • 2.2 mkdir
    • 2.3 rmdir
    • 2.4 touch
    • 2.5 cp
    • 2.6 rm
    • 2.7 mv
    • 2.8 cat
    • 2.9 echo
    • 2.10 head
    • 2.11 tail
    • 2.12 > 和 >>
    • 2.13 ln
    • 2.14 history
  • 3 查找指令
    • 3.1 find
    • 3.2 locate
    • 3.3 which
    • 3.4 grep
  • 4. 压缩和解压
    • 4.1 gzip / gunzip
    • 4.2 zip / unzip
    • 4.3 tar
  • 5. 文件权限
    • 5.1 chown
    • 5.2 文件/目录 所在组
    • 5.3 其它组
    • 5.4 改变用户所在组
    • 5.5 权限的基本介绍
    • 5.6 修改权限 chmod
      • 5.6.1 + - = 变更权限
      • 5.6.2 通过数字变更权限

1. 用户管理相关 1.1 添加用户
  • 基本语法:useradd [新用户名]
  • 应用案例:添加一个用户 jason,默认该用户的家目录在 /home/jason
  • 细节说明:
    1. 当创建用户成功后,会自动创建和用户名同名的家目录
    2. 也可以通过 useradd -d [指定目录] [新用户名] 的方式给新用户指定家目录
    3. useradd -g [用户组] [用户名] 可以在新建用户的时候指定用户组

1.2 指定/修改 密码
  • 基础语法:passwd [待修改的用户名],如果不指定用户名,则是修改当前用户的密码
  • 应用案例:

1.3 删除用户
  • 基本语法:userdel [待删除的用户名]

  • 应用案例:

    1. 删除用户,但是保留家目录:userdel jason
    2. 删除用户及其家目录:userdel -r king 该操作要谨慎!
  • 细节说明:一般删除也是需要保留家目录的


1.4 查询用户
  • 基本语法:id [待查询的用户名]
  • 应用案例:id jason
  • 细节说明:当用户不存在时,返回无此用户

1.5 切换用户
  • 基本语法:su - [待切换的用户名]
  • 应用案例:su - jason
  • 细节说明:
    • 从权限较高的用户切换到低权限的用户时,不需要输入密码,反之则需要
    • 当需要返回原来的用户时,使用 exit/logout 指令

1.6 用户组 1.6.1 新增用户组
  • 基本语法:groupadd [组名]
1.6.2 删除用户组
  • 基本语法:groupdel [组名]
1.6.3 增加用户时直接加上组
  • 基本语法:useradd -g [用户组] [用户名]
  • 细节说明:当创建用户时未指定组,会默认给这个用户创建同用户名的组
1.6.4 修改用户组
  • 基本语法:usermod -g [用户组] [用户名]

  • 细节说明:当创建用户时未指定组,会默认给这个用户创建同用户名的组

  • 查看用户信息:cat /etc/passwd

  • 查看组信息:cat /etc/group


2. 文件目录相关 2.1 cd

切换目录

  • 回到家目录:cd ~
  • 回到上一级目录:cd ..

2.2 mkdir

创建(一级)目录
创建多级目录:mkdir -p /home/tom/hello, -p, --parents no error if existing, make parent directories as needed


2.3 rmdir

删除目录
递归删除目录:rmdir -p [目标目录],-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。


2.4 touch

创建空文件:touch test.txt


2.5 cp
  • 基本语法:cp [选项] source dest

  • 常用选项:-r 递归复制整个文件夹

  • 案例1:将 /home/hello.txt 文件拷贝到 /home/bbb 目录下

    cp /home/hello.txt /home/bbb
    
  • 案例2:递归复制整个文件夹,比如将 /home/bbb 整个目录拷贝到 /opt

    cp -r /home/bbb /opt/
    
  • 案例3:强制覆盖不提示:

    cp -r /home/bbb /opt
    

2.6 rm
  • 基本语法:rm [选项] [待移除文件或目录]

  • 常用选项:

    • -r:递归删除整个文件夹
    • -f:强制删除不提示
  • 案例1:将 home/hello.txt 文件删除

    rm /home/hello.txt
    
  • 案例2:递归删除整个文件夹 /home/bbb

    rm -rf /home/bbb
    

2.7 mv

移动(重命名)文件

  • 基本语法:rm [原地址] [新地址]

如果在同一个目录下,是重命名文件;如果不在同一个目录,则是移动文件。


2.8 cat

查看文件内容

  • 基本语法:cat [选项] [要查看的文件]
  • 常用参数:-n 显示行号



less 动态加载,对于显示大型文件有较高的效率。

2.9 echo

echo 输出内容到控制台

  • 基本语法:echo [选项] [输出内容]

2.10 head

head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容

  • 基本语法:
    • head [文件] (默认显示前 10 行)
    • head -n 5 [文件] (查看文件前 5 行)
2.11 tail

tail 用于输出文件尾部的内容,默认情况下下显示文件的最后 10 行

  • 基本语法:
    • tail 文件 (查看文件的尾 10 行的内容)
    • tail -n 5 文件 (查看文件的尾部 5 行的内容)
    • tail -f 文件 (实时追踪文件的更新)
2.12 > 和 >>
> 输出重定向
>> 追加

2.13 ln

ln 可以给文件/目录创建软连接,类似于 Windows 里的快捷方式

  • 基本语法:ln -s [原文件/目录] [连接名]
  • 案例1:在 /home 目录下创建软连接 myroot,连接到 /root 目录
    ln -s /root /home/myroot
    
  • 案例2:删除软连接 myroot
    rm /home/myroot
    
2.14 history

3 查找指令 3.1 find

find 指令将从指定目录向下递归遍历各个子目录,将满足条件的文件或者目录显示在终端。

  • 基本语法:find [搜索范围] [选项]

  • 选项说明

    • -name:按照文件名查找文件,可以模糊匹配
    • -user:查找属于指定用户的所有文件
    • -size:按照指定大小查找文件
  • 案例1:找 /opt 目录下的 hello.txt 文件:

    find /home -name heelo.txt
    
  • 案例2:查找 /opt 目录下,用户名未 nobody 的文件:

    find /opt -user nobody
    
  • 案例3:查找整个 linux 系统下大于 200M 的文件(单位还有 k, M, G):

    find / -size +200M # 大于 200M
    find / -size 200M  # 等于 200M
    find / -size -200M # 小于 200 M
    

3.2 locate

locate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中的所有文件名及路径的 locate 数据库实现快速定位给定文件的路径。locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

  • 基本语法:locate [待搜索的文件]
  • 特别说明:由于 locate 指令给予数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库

locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:updatedb


3.3 which

which 指令可以查找某个指令在哪个目录下

  • 查询 ls 指令在哪个目录下:which ls
3.4 grep

grep 过滤查找

  • 基本语法:grep [选项] 查找内容 源文件
  • 常用选项:
  • -n:显示匹配及行号
  • -i:忽略字母大小写
  • 案例:请在 a.txt 文件中查找 “hello” 所在行,并且显示行号
1. 第一种写法: cat /home/a.txt | grep -n "hello"
2. 第二种写法: grep -n "hello" a.txt
4. 压缩和解压 4.1 gzip / gunzip

gzip 用于压缩文件,gunzip 用于解压文件

  • 基本语法:gzip 文件(只能将文件压缩为 *.gz 文件)
  • 基本语法:gunzip 文件.gz


4.2 zip / unzip

zip 用于压缩文件(文件夹),unzip 用于解压,这两个命令在打包发布中很有用

  • 基本语法:

    • zip [选项] XXX.zip [文件/文件夹],选项 -r 递归压缩
    • unzip [选项] XXX.zip,选项 -d 指定解压后文件存放路径
  • 案例1:将 /home 下的所有文件/文件夹压缩成 myhome.zip:zip -r myhome.zip /home/*

  • 案例2:将 myhome.zip 解压到 /opt/tmp 路径:unzip -d /opt/tmp/ myhome.zip 如果 tmp 文件夹不存在,则会自动创建


4.3 tar

tar 既可以打包压缩也可以进行解压

  • 基本语法:tar [选项] XXX.tar.gz [待压缩的内容]

  • 选项说明:

    • -c:生成 .tar 打包文件
    • -v:显示详细信息
    • -f:指定压缩后的文件名
    • -z:打包同时压缩
    • -x:解包 .tar 文件
  • 案例1:压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz:tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt

  • 案例2:将 /home 的文件夹压缩成 myhome.tar.gz:tar -zcvf myhome.tar.gz /home/*

  • 案例3:将 pc.tar.gz 解压到当前目录:tar -zxvf pc.tar.gz

  • 案例4: 将 myhome.tar.gz 解压到 /opt/tmp2 目录下:tar -zxvf /home/myhome.tar.gz -C /opt/tmp2 -C 不要忘记

5. 文件权限 5.1 chown

一般文件是谁创建的,文件的所有者就是谁。

  • 查看文件所有者:ls -ahl
  • 修改文件/目录所有者:chown 新用户名 文件/目录
  • 修改文件/目录所有者和所在组:chown 新用户名:新组名 文件/目录
  • -R 可以递归修改目录下的所有子文件或子目录
  • 案例1:使用 root 创建一个文件 apple.txt,然后将其所有者修改为 tom
    su root             # 切换用户
    touch apple.txt     # 创建 apple.txt
    chown apple.txt tom # 更换文件所有者
    
  • 案例2:将 /home/kkk 目录下的所有文件和目录的所有者修改成 tom
    chown -R tom /home/kkk
    
5.2 文件/目录 所在组
  • 创建一个组,monster

    groupadd monster
    
  • 创建一个用户 fox ,并将 fox 添加到 monster 组内

    useradd -g monster fox
    
  • 修改文件 / 目录所属组:chgrp 新组名 文件/目录

  • 使用 root 创建 orange.txt 文件,查看这个文件的归属组,然后修改到 fruit 组

    su root                # 切换到 root 用户
    touch orange.txt       # 创建 orange.txt 文件
    ll                     # 查看文件所在组 
    groupadd fruit         # 新增 fruit 组
    chgrp fruit orange.txt # 修改文件所在组
    
  • 递归修改所属组:chgrp -R 新组名 文件/目录

5.3 其它组

除了文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

5.4 改变用户所在组
  • 改变用户所在组:usermod -g 新组名 用户名

  • 案例1 :将 zwj 用户更改到 wudang 组

    usermod -g wudang zwj # 修改
    id zwj                # 查看
    
5.5 权限的基本介绍

  1. 第 0 位确定文件类型(d, -, l, c, b)

    l 是链接,相当于 Windows 的快捷方式
    d 是目录,相当于 Windows 的文件夹
    c 是字符设备文件,鼠标、键盘等
    b 是块设备,比如硬盘
    ‘-’ 是文件

  2. 第 1-3 位是所有者(该文件的所有者)拥有该文件的权限

  3. 第 4-6 位确定所属组(同用户组的)拥有该文件的权限

  4. 第 7-9 位是其它用户拥有该文件的权限

  5. 其它说明

    1  如果是文件,则代表硬连接数;如果是目录,则表示子目录数 
    admin 文件所有者 
    admin 文件所在组 
    4096 文件大小 
    Apr 19 11:16 最后修改日期 
    admin 文件名/目录名
    

rwx 权限详解

rwx 作用到文件

  1. [r] 代表可读:可以读取、查看
  2. [w] 代表可写:可以修改,但是不代表可以删除,能删除一个文件的前提是拥有该文件所在目录的写权限
  3. [x]代表可执行:文件可以被运行,前提该文件是可执行文件

rwx 作用到目录

  1. [r] 代表可读:可以读取,可以利用 ls 命令查看目录
  2. [w] 代表可写:可以修改,可以在目录内创建 +删除 + 重命名
  3. [x]代表可执行:可以进入该目录 cd 进来
5.6 修改权限 chmod

5.6.1 + - = 变更权限

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

  • chmod u=rwx,g=rx,o=x 文件/目录名 逗号 , 不能忘记!!!

  • chmod o+w 文件/目录名

  • chmod a-x 文件/目录名

  • 案例1:给 abc 文件的所有者读写执行的权限,所在组执行权限,给其它组读执行权限

    chmod u+rwx,g+rx,o+x abc
    
  • 案例2:给 abc 文件的所有者除去执行的权限,增加所属组写的权限

    chmod u-x,g+w abc
    
  • 案例3:给 abc 文件的所有用户增加读的权限

    chmod a+r abc
    
5.6.2 通过数字变更权限

r = 4
w = 2
x = 1

  • chmod 751 文件/目录名

  • 案例1:将 /home/abc.txt 文件的权限修改为 rwxr-xr-x,使用数字的方式实现:

    chmod 755 /home/abc.txt
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841836.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号