Linux 基础——文件目录、时间日期与用户管理

  • shell外壳是提供用户使用界面的命令解释器,用于接受用户输入的命令,调用相应应用程序,最后输出程序运行结果。
  • 命令格式:命令 [-选项] [参数]
  • 命令区分大小写,其中选项和参数是可选的,中间采用空格隔开

一、帮助命令

  • man [命令或配置文件] 获取帮助信息
    • man -f 命令 查看内置命令
    • .表示当前目录, ..表示上级目录, .后缀名表示隐藏文件

  • help 获得 shell 内置命令的帮助信息
    • 内置命令:一部分基础功能的系统命令是直接内嵌在 shell 中的, 系统加载启动之后会随着 shell 一起加载, 常驻系统内存中。
    • 外部命令:其他命令外部调用
    • help 命令 查看完整的内置命令信息,空格翻页,回车下一行,
  • 命令 --help : 查看命令用法的简要信息
  • 常用的快捷键
    • ctrl+c:停止进程
    • ctrl+l: 清屏,相当于clear,彻底清屏是reset
    • tab:自动补全
    • 上下键:查看执行过的命令
  • type 命令: 看该命令的类型

二、文件目录

  • pwd 显示当前工作目录的绝对路径

1. 查看目录

命令 功能描述
ls list显示文件
ls -l 或 ll list -list显示详细信息
ls -a list -all显示全部(包含隐藏文件)文件
ls -al list -all list 上两个合体
ls 目录名 查看目录下有什么东西

2. 切换目录

  • 相对路径指当前目录下的路径;绝对路径指根目录下的路径
命令 功能描述
cd .. 上一级目录
cd dirname 进入目录
cd 或 cd ~ 直接回到用户的家目录
cd / 回到系统根目录
 cd -  回到上一次所在目录

3. 查看命令的所在目录

命令 功能描述
which 命令 查看指定命令所在的路径信息

4. 目录操作

命令 功能描述
mkdir 目录名 创建普通文件夹
mkdir -p 目录/目录/目录 递归方式创建多级父子文件夹
rmdir 目录 删除非空目录
mv dir1 dir2 dir1移动到dir2
mv file1 file2 文件重命名
mv dir1/dir2 ./ dir1dir2移动到当前目录下
mv dir1 name dir1改名为name
cp dir1 name dir1拷贝为name
cp -r dir1 dir2 需要设置参数 -r (recursive递归无视目录层次
rm 文件 删除文件
rm -r 目录 递归删除目录(无视目录层次)
rm -rf 文件/目录 -r force(强制删除文件/目录
rm -v 文件 显示指令的详细执行过程

5. 文件操作

命令 功能描述
touch fileName 创建名字为fileName的文件
touch dir/fileName dir目录下创建名字为fileName的文件
echo 内容 > fileName 把内容覆盖写到文件中,若文件不存在则创建
echo 内容 >> fileName 把内容追加到文件中
cat fileName 打印文件内容到终端
cat -n filename 显示行号包括空行
more fileName 分屏查看文件各行内容,不支持回看
less fileName 查看文件各部分内容,支持回看
head -n fileName 查看文件的前n行内容
tail -n fileName 查看文件末尾n行内容
tail -f filrname 实时跟踪监视文件变化,显示最新追加的内容,但是vim更改的文件不会被跟踪,因为文档索引号不同
wc fileName 查看文件的行数

echo操作

  -e: 支持反斜线控制的字符转换

more操作

less 操作

 6. > 输出重定向和 >> 追加

  • ls -l > 文件 (功能描述: 列表查看信息写入文件 中(覆盖写))
  • ls -al >> 文件 (功能描述: 列表查看信息追加到文件 aa.txt 的末尾)
  •  cat 文件 1 > 文件 2 (功能描述: 将文件 1 的内容覆盖到文件 2
  • echo “内容” >> 文件

7. 软链接

  软链接也称为符号链接, 类似于 windows 里的快捷方式, 有自己的数据块, 主要存放了链接其他文件的路径

ln -s [原文件或目录] [软链接名] (功能描述: 给原文件创建一个软链接)
  • 删除软链接: rm -rf 软链接名, 而不是 rm -rf 软链接名/
  • 如果使用 rm -rf 软链接名/ 删除, 会把软链接对应的真实目录下内容删掉
  • 查询: 通过 ll 就可以查看, 列表属性第 1 位是 l, 尾部会有位置指向
  • 去掉-s 是硬链接,与原文件指向同一区域,具有相同inode

8.history 

  • 查看已执行的命令 history
  • history number:  过去的number条命令
  • history -c: 删除过去执行的命令
  • !命令行: 重复执行命令行指向的命令

三、时间日期

 1. 时间类: date [option] .. [+format]

  •  -d<时间字符串> 显示时间字符串表示的时间
  • -s 设置系统时间
  • +<日期时间格式> : 按格式显示时间

 

 

 2.日历类 cal [option]

  • cal 年份 显示该年日历
  • cal -m 将周一设为星期的第一天
  • cal -y 显示本年的日历

四、用户管理

1. 管理用户,在root用户下管理

  • useradd 用户名 (功能描述: 添加新用户)
  • useradd -d 主目录 用户名 创建新用户,用户的主目录为指定主目录
  • useradd -g 组名 用户名 (功能描述: 添加新用户到某个组)
  • passwd 用户名 (功能描述: 设置用户密码)
  • id 用户名 查看用户是否存在
  • cat /etc/passwd 查看创建了哪些用户,有很多系统用户是内用户,自定义用户在文件末
  • userdel 用户名 (功能描述: 删除用户但保存用户主目录)
  • userdel  -r 用户名 (功能描述: 删除用户/用户主目录)
  • usermod -g 用户组 用户名: 将用户加到用户组,给定的组必须存在。 默认组 id 是 1

2.查看当前用户

命令 功能描述
whoami 查看当前用户的名称
who am i  查看最原始用户

3. 用户切换

最好使用suexit搭配使用,否则多次使用su指令会导致用户的叠加

命令 功能描述
su 普通用户切换到root用户
su root 切换到root用户
su 用户名 切换到普通用户
exit 退回到原来用户

sudo 设置普通用户具有 root 权限

  • 修改配置文件 vi /etc/sudoers
  • 修改 /etc/sudoers 文件, 找到下面一行(91 ), 在 root 下面添加一行

 

root
atguigu
ALL=(ALL)
ALL=(ALL)
ALL
ALL
  • 或者配置成采用 sudo 命令时, 不需要输入密码
root
atguigu
ALL=(ALL)
ALL=(ALL)
ALL
NOPASSWD:ALL
  • 修改完毕, 现在可以用 atguigu 帐号登录, 然后用命令 sudo , 即可获得 root 权限进行操作

4. 用户组管理

  • 每个用户都有一个用户组, 系统可以对一个用户组中的所有用户进行集中管理。 不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组, 这个用户组在创建用户时同时创建。
  • 用户组的管理涉及用户组的添加、 删除和修改。 组的增加、 删除和修改实际上就是对/etc/group文件的更新
  • 新增:groupadd 组名
  • 删除: groupdel 组名
  • 修改: groupmod -n 新组名 老组名
  • 查看:cat /etc/group

 

posted @ 2023-02-15 13:47  forever_fate  阅读(299)  评论(0)    收藏  举报