Linux用户管理&&文件和目录相关指令

文章目录

    • 查看linuxip地址
    • Linux 开机,重启和用户登录注销
  • Linux用户管理
    • Linux基本介绍
    • 查询用户信息指令
    • 切换用户
    • 用户组
    • 修改用户的组
    • 用户和组的相关文件
    • 实例练习
    • Linux实用指令
    • 通过修改Linux的运行级别找回root密码
    • Linux帮助指令
  • 文件和目录相关的指令
    • pwd指令
    • ls指令
    • cd指令
    • mkdir 指令
    • rmdir指令
    • touch指令
    • cp指令
    • rm 指令
    • mv指令
    • cat指令
    • more 指令
    • less指令
    • echo 指令
    • head 指令
    • tali 指令
    • 输出重定向指令 和追加指令
    • ln 指令(link)
    • history 指令

查看linuxip地址

[root@CentOS 桌面]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:2A:D4:D1  
          inet addr:192.168.91.0  Bcast:192.168.91.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe2a:d4d1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:828 (828.0 b)  TX bytes:1058 (1.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:84 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5760 (5.6 KiB)  TX bytes:5760 (5.6 KiB)

[root@CentOS 桌面]# 
  1. eth0 表示网卡的相关信息
  2. lo 表示外部连的相关信息

Linux 开机,重启和用户登录注销

关机和重启命令

  1. shutdown -h now [立刻关机]
  2. shutdown -h 1 “1 分钟,关机.” [1 分钟后,关机]
  3. shutdown -r now [立刻重启]
  4. shutdown -r 2 “2 分钟后,重启”
  5. halt 【立刻关机】
  6. reboot 【立刻重启】

注意:在重启和关机前,通常需要先执行sync [把内存的数据,写入磁盘]

用户登录和注销

  1. 登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。
  2. 可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.
  3. 在提示符下输入 logout 即可注销用户【不同的 shell 可能不同(logout exit)】
  4. logout 注销指令在图形运行级别(简单提一下:0-6 个级别)无效,
  5. 在 运行级别下有效.Linux有六个默认的级别,

Linux用户管理

  1. 在Linux中,一个用户属于一个组
  2. 当创建一个用户后,默认会在/home/用户名 创建一个与用户名相同的目录,该目录就是用户家目录
  3. 当一个用户登录后,默认会切换到/home/tom
  4. 一个用户默认是不能进入到其他用户目录
  5. 用户权限体现对文件的操作
    Linux用户管理&&文件和目录相关指令_第1张图片

Linux基本介绍

  1. Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

添加用户

  1. 基本语法: useradd 用户名
[root@CentOS 桌面]# useradd ryx
[root@CentOS 桌面]# cd /home/
[root@CentOS home]# cd /home
[root@CentOS home]# ls
ryx
  1. 为用户ryx设置密码
[root@CentOS home]# cd /home
[root@CentOS home]# ls
ryx
[root@CentOS home]# passwd ryx
更改用户 ryx 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@CentOS home]# 
  1. 当创建用户成功后,会自动的创建和用户同名的家目录 /home/ryx

  2. 可以通过 useradd -d 指定用户所在的目录,新的用户名 jack,给新创建的用户指定家目录Linux用户管理&&文件和目录相关指令_第2张图片

  3. 指定和修改密码基本语法 passwd 用户名 ;如果没有带用户名,则是给当前登录的用户修改密码

  4. 删除用户的基本语法 :userdel 用户名

    1. 删除用户ryx 但是保留家目录 userdel ryx
    2. 删除用户以及用户主目录 userdel -r ryx //不要瞎用
  5. 一般在删除用户时都会保留家目录

查询用户信息指令

  1. 基本语法:id 用户名
[root@CentOS home]# cd /
[root@CentOS /]# cd /home
[root@CentOS home]# id ryx
uid=500(ryx) gid=500(ryx)=500(ryx)
  1. 当用户不存在时,返回无此用户

切换用户

  1. 在Linux中,如果当前用户的权限不够,通过 su - 指令,切换到高权限用户,比如:su -root
  2. 切换用户名 :su -ryx
  3. 从权限高的用户切换到权限低的用户,不需要输入密码,从权限低到权限高需要输入密码
  4. 如果 su - 没有带用户名,默认切换到root用户

用户组

  1. 用户组类似于角色,系统可以对有共性的多个用户进行统一的管理
  2. 新增组指令:groupadd 组名
[ryx@CentOS /]$ cd /home
[ryx@CentOS home]$ ls
ryx
[ryx@CentOS home]$ groupadd ryxtest
bash: /usr/sbin/groupadd: 权限不够
  1. 新增用户组时,出现权限不够的问题,需要切换到root权限
[ryx@CentOS home]$ su -
密码:
[root@CentOS ~]# 
  1. 增加用户时直接加上组 : useradd -g 用户组 用户名
    1. 新增加一个用户 ryxtest 直接将他指定到 ryxtest 用户组
    [root@CentOS home]# useradd -g ryxtest ryxtest
    [root@CentOS home]# id ryxtest
    uid=501(ryxtest) gid=501(ryxtest)=501(ryxtest)
    
  2. 删除组: groupdel 组名 ;删除组的前提是族中没有用户才能删除
[root@CentOS home]# groupdel ryxtest
groupdel:不能移除用户“ryxtest”的主组
[root@CentOS home]# userdel ryxtest
[root@CentOS home]# groupdel ryxtest

修改用户的组

  1. 修改用户组指令 : usermod -g 新的组名 用户名
  2. 创建一个test组,创建一个新的用户a,并将 a 用户修改到test组
[root@CentOS home]# useradd a
[root@CentOS home]# id a
uid=501(a) gid=501(a)=501(a)
[root@CentOS home]# groupadd test
[root@CentOS home]# usermod -g test a
[root@CentOS home]# id a
uid=501(a) gid=502(test)=502(test)
[root@CentOS home]# 

用户和组的相关文件

  1. /etc/passwd 文件: 用户(user)的配置文件,记录用户的各种信息
  2. 主要行的含义如下

Linux用户管理&&文件和目录相关指令_第3张图片

  1. /etc/shadow 文件是口令配置文件,保存加密后的登录名,加密口粮,最后一次修改时间,最小时间间隔,最大时间间隔,警告等等信息,不要瞎动1
    在这里插入图片描述
  2. /etc/group文件 组配置文件,记录Linux包含的组的信息,包含组名,口令,组标标识,组内用户列表
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
wheel:x:10:
mail:x:12:mail,postfix
uucp:x:14:
man:x:15:
games:x:20:
gopher:x:30:
video:x:39:
dip:x:40:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
"group" 60L, 823C        

实例练习

  1. 增加一个组student :groupadd student
  2. 创建一个用户ryxtest 并指定的默认路径为 /home/ryxtest,同时指定到student组 useradd -d /home/ryxtest -g student ryxtest
  3. 增加一个testone组, groupadd testone
  4. 将ryxtest 修改到 testone 组 ; usermod -g testone ryxtest

Linux实用指令

  1. Linux的运行级别: 从 0~6
  2. 运行级别 0 :关机
  3. 运行级别 1 :单用户[类似于安全模式,这个模式下可以找回root密码]
  4. 运行级别 2 :多用户状态,没有网络服务
  5. 运行级别 3 : 多用户状态,有网络服务,经常使用的
  6. 运行级别 4 :系统未使用保留给用户
  7. 运行级别 5 :图形界面
  8. 运行级别 6 :系统重启

最常使用的运行级别是 3 和 5,要修改默认的运行级别可以修改文件

指定运行级别

  1. /etc/inittab 下的 id : 5 :initdefault 行标识运行级别5
  2. 指定运行级别的命令: init[0~6] https协议

通过init命令切换不同的运行级别,比如从5到3,然后关机

  1. init 5
  2. init 3
  3. init 0

通过修改Linux的运行级别找回root密码

  1. 在忘记root密码后,可以通过Linux运行级别 1找回密码

方法

  1. 启动时->快速输入enter ->输入 e -> 进入到编辑界面->选择中间有kernel项->输入e(edit)->在这一行的最后写入1 表示[表示修改内核,临时生效]->输入enter->输入b[boot]->进入单用模式[然后修改root密码]
  2. 在设置好root密码后,Linux运行后,会直接进入的命令行终端(3级别)

Linux帮助指令

  1. man获取帮助信息,基础语法:man [命令或配置文件](功能描述,获得帮助信息)
  2. man ls 查看 ls命令的帮助信息
  3. help命名 (功能描述;获得shell内置命令的帮助信息)
  4. help cd 查看 cd 的信息

吐槽

  1. 如果help 和man都可以获取指令帮助,但是很痛苦,
  2. 直接问百度,不痛快

文件和目录相关的指令

pwd指令

  1. pwd指令,显示当前工作目录的绝对路径
  2. 显示当前工作目录的绝对路径 pwd
[root@CentOS etc]# pwd
/etc
[root@CentOS etc]# 

ls指令

  1. ls指令 显示目录或文件
  2. 语法格式 ls [选项] [目录或文件]

ls指令常用选项

  1. -a :显示当前目录所有的文件和目录,包括隐藏的 (文件名以.开头就是隐藏)。
  2. -l :以列表的方式显示信息
  3. -h :显示文件打侠士,以k,m,G,单位显示

ls案例

  1. ls -alh // 显示当前目录的所有内容信息
  2. ls -alh 指定目录 ; 显示指定目录的内容信息
  3. ls -alh /root 显示 root目录的内容信息

cd指令

  1. 基础语法 : cd [参数](功能描述:切换到指定目录)
  2. 常用参数 :绝对路径(从 / 开始定位 ) 和相对路径(从当前的位置开始定位)
  3. cd ~ 或者 cd :回到当前用户的家目录
  4. cd … ;回到当前目录的上一级目录

cd 案例

  1. 使用绝对路径切换到root目录 [cd/root]
  2. 使用相对路径到/root 目录 [ cd …/root]
  3. 表示回到当前目录的上一级目录 [cd …]
  4. 回到家目录 [cd ~]

mkdir 指令

  1. mkdir指令用于创建目录
  2. 基本语法:mkdir [选项] 要创建的目录
  3. mkdir -p 创建多级目录

mkdir案例

  1. 创建一个目录 /home/test :命令为 mkdir /home/test
  2. 创建多级目录 /home/test/test: 命令为 mkdir -p /home/test/test

rmdir指令

  1. rmdir指令删除空目录
  2. rmdir语法 : rmdir [选项] 要删除的空目录

rmdir案例

  1. 删除一个目录 /home/test :rmdir /home/dog [要求 /home/dog 空目录]
  2. rmdir 删除的是空目录,如果目录下有内容时无法删除的
  3. 如果需要删除非空目录,需要使用 rm -rf 要删除的目录: rm -rf /home/dog
  4. r: 表示递归删除,就是将该目录下的文件和子目录全部删除
  5. f: 表示强制删除,就是不需询问

touch指令

  1. touch 指令创建空文件, 还可以更新文件的修改时间
  2. 基本语法:touch 文件名称

touch案例

  1. 创建一个空文件 hello.txt:touch hello.txt
  2. 如果文件存在,则表示刷新该文件的修改时间

cp指令

  1. cp指令是拷贝指令
  2. cp 指令拷贝文件到指定目录:基本语法:cp [选项] source【源】 dest【目的文件】
  3. 常用选项: -r 表示递归估值整个文件夹

cp指令案例

  1. 将 /home/aaa.txt 拷贝到 /home/bbb 目录下:cp aaa.txt /home/bbb
  2. 递归复制整个文件夹,举例, 将 /home 整个目录拷贝 /opt:cp -r /home/ /opt
    Linux用户管理&&文件和目录相关指令_第4张图片
  3. 强制覆盖不提示的方法 : \cp
  4. \cp -r /home/ /opt/ 在这里插入图片描述

rm 指令

  1. rm 指令移除文件或目录
  2. 基本语法: rm [选项] 要删除的文件或目录
  3. rm 常用选项
    1. -r :递归删除整个文件夹
    2. -f :强制删除不提示

rm实例

  1. 将 /home/aaa.txt删除 :rm /home/aaa.txt
  2. 递归删除整个文件夹 :rm -r /home/bbb
  3. 强制删除不提示的方法 :带上 -f参数就可以了:rm -rf /home/bbb

mv指令

  1. mv移动文件与目录或者重命名
  2. mv的基本语法
    1. mv oldNameFile newNameFile (功能描述:重命名)
    2. mv /temp/movefile /targetFolder (功能描述:移动文件或目录)
  3. mv指令案例
    1. 将 /home/aaa.txt 文件 重新命名为 pig.txt :mv aaa.txt pig.txt
    2. 将 /home/pig.txt 文件 移动到 /root 目录下:mv pig.txt /root/

cat指令

  1. cat查看文件内容
  2. cat基本语法
    1. cat [选项] 要查看的文件
  3. 常用选项
    1. -n 显示行号
  4. cat指令案例 :
    1. /etc/profile 文件内容,并显示行号:cat -n /etc/profile | more
    2. 如果需要一行行,输入 enter ,如果需要翻页,输入空格键,如果需要退出,输入q
  5. cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
  6. cat xxx.txt | more (把 cat xxx.txt 输出结果交给 more 处理)

more 指令

  1. more 指令是一个基于vi编辑器的文本过滤器,
  2. more指令会以全屏幕的方式按页显示文本文件的内容
  3. more指令中,内置了若干快捷键
  4. more指令基础语法:more 要查看的文件
  5. more的实例
    1. 使用more 查看文件 /etc/profile
  6. more的快捷键
    1. 空格键 :代表向下翻一页
    2. enter :代表向下翻一行
    3. q:代表立刻离开 more,不再显示该文件内容
    4. Ctrl+f:向下滚动一屏
    5. = :输出当前行的行号
    6. :f 输出文件名和当前行的行号

less指令

  1. less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。
  2. less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
  3. less基础语法 :less 要查看的文件
  4. less操作说明和快捷键
    1. 空格键 :向下翻动一页
    2. [pagedown] 向下翻动一页
    3. [pageup] 向上翻动一页
    4. /字串 :向下搜寻[字串]的功能,n: 向下查找,N:向上查找
    5. ?字串 :向上搜寻[字串]的功能,n: 向上查找,N:向下查找
    6. q:离开less这个程序
  5. less实例
    1. 采用less 查看一个文件 :less aaa.test

echo 指令

  1. echo 指令将输出内容到控制台

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

  3. echo 应用实例:

    1. 使用echo指令输出环境变量 ,比如 PATH echo $PATH
  4. 引用内容:查看系统所有的环境变量

  5. env 修改环境变量 :建议不要瞎改,容易死翘翘

  6. vim /etc/profile [系统的环境变量]Linux用户管理&&文件和目录相关指令_第5张图片

  7. 修改个人的环境变量Linux用户管理&&文件和目录相关指令_第6张图片

head 指令

  1. head用于希纳是文件的开头部分内容,默认情况下head指令显示文件的前10行内容
  2. head 基本语法:
    1. head 文件(功能描述:查看文件头10行内容)
    2. head -n 5文件 (功能描述,查看文件头5行内容,可以是任意行数)
  3. head案例
    1. 查看/etc/profile 的前面5行代码,head -n /etc/profile

tali 指令

  1. tail 指令用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容

  2. tail指令基础语法:

    1. tail 文件 查看文件后10行的内容
    2. tail -n 5 文件 ,查看文件后5行的内容,可以是任意行数
    3. tali -f 文件 实时追踪该文档的所有更新
  3. tail案例

    1. 查看/etc/profile 最后5行代码 tail -n 5 /etc/profile
      2.实时监控 date.log , 看看到文件有变化时,是否看到, 实时的追加日期 tail -f date.log

输出重定向指令 和追加指令

  1. > 是输出重定向指令
  2. >>是追加指令
  3. 基本语法:
    1. ls -l > 文件 ,将内容写入到文件中,覆盖写
    2. ls -al >> 文件 ,将列表的内容追加到文件的末尾
    3. cat 文件1> 文件2 :将文件1 的内容覆盖到文件2
    4. echo “内容” >> 文件,将内容追加到文件中
  4. 使用案例
    1. 将/home 目录下的文件列表,写入到 /home/test.txt 中
      ls -l /home/ > /home/test.txt [如果test 文件不存在,则会自动创建]
    2. 将当前日历信息,追加到 /home/mycal 文件中
      date >> /home/mycal

ln 指令(link)

  1. 软链接也称为符号链接,类似于快捷方式,主要存放了链接其他文件的路径
  2. ln 基本语法
    1. ln -s [原文件或目录] [软链接名] (给原文件创建一个软链接)
  3. ln指令案例
    1. 在/home 目录下创建一个软链接,lntest ,链接到 /root 目录
      ln -s /root/ lntest
    2. 删除软链接 lntest rm -rf lntest [删除时没有提示的]
  4. 当使用pwd指令查看目录时,看到的仍然时软链接所在的目录

history 指令

  1. 查看已经执行过的历史命令,也可以执行历史指令
  2. history 基本语法
    1. history 查看已经执行过的历史命令
  3. history 案例
    1. 显示所有的历史命令:history
    2. 显示最近使用过的10个指令: history 10
    3. 执行历史编号为5的指令 !5
[root@CentOS home]# history !5
history ls
-bash: history: ls: numeric argument required
[root@CentOS home]# ls
a  ryx  ryxtest
[root@CentOS home]# !5
ls
a  ryx  ryxtest

你可能感兴趣的:(Linux,shell,linux)