2026/10/1 10:21:39

shell与权限

shell与权限 目录一、基础指令收尾1.1 tar 文件归档与压缩不打开直接看内容1.2 scp: 远程拷贝跨机文件传输工具1.3 bc: 交互式计算器工具1.4 面试题讲解1.5 常用热键1.6 shutdown :关机二、shell命令2.1 操作系统分为广义和狭义2.2 root和普通用户区别一、基础指令收尾1.1 tar 文件归档与压缩不打开直接看内容常用扩展-c : 建立一个压缩文件的参数指令-x解开一个压缩文件的参数指令-t 查看tarfile里面的文件-z是否具有gzip的属性-v压缩的过程中显示文件-f 使用档名后不可加扩展了-C解压到指定目录参数组合-f后直接跟档名不能再加参数tar -czf静默打包并压缩目录适合脚本中后台执行不输出过程信息tar -xzf静默解压 .tar.gz 格式的压缩包快速恢复文件tar -xzf -C指定解压目录避免文件散落在当前目录-C 后接目标路径tar -cvzf带详细输出的打包压缩-v 参数显示每个处理的文件tar -xvzf带详细输出的解压适合确认解压内容是否正确ubuntuVM-0-4-ubuntu:~$ echo aaaa text/a.txt -bash: text/a.txt: No such file or directory ubuntuVM-0-4-ubuntu:~$ echo aaaa text_dir/a.txt ubuntuVM-0-4-ubuntu:~$ echo aaaa text_dir/b.txt ubuntuVM-0-4-ubuntu:~$ echo aaaa text_dir/c.txt ubuntuVM-0-4-ubuntu:~$ ls 1.txt snap temp1 temp.txt test test.zip data.txt temp tempp.txt temp.zip test1.zip text_dir ubuntuVM-0-4-ubuntu:~$ ls text_dir a.txt b.txt c.txt ubuntuVM-0-4-ubuntu:~$ tar -czf archive.tgz test_dir tar: test_dir: Cannot stat: No such file or directory tar: Exiting with failure status due to previous errors ubuntuVM-0-4-ubuntu:~$ tar -czf archive.tgz text_dir ubuntuVM-0-4-ubuntu:~$ ls 1.txt data.txt temp tempp.txt temp.zip test1.zip text_dir archive.tgz snap temp1 temp.txt test test.zip ubuntuVM-0-4-ubuntu:~$ rm -rf text_dir ubuntuVM-0-4-ubuntu:~$ ls 1.txt data.txt temp tempp.txt temp.zip test1.zip archive.tgz snap temp1 temp.txt test test.zip ubuntuVM-0-4-ubuntu:~$ tar -xzf archive.tgz ubuntuVM-0-4-ubuntu:~$ ls 1.txt data.txt temp tempp.txt temp.zip test1.zip text_dir archive.tgz snap temp1 temp.txt test test.zip ubuntuVM-0-4-ubuntu:~$ ls -l text_dir total 12 -rw-rw-r-- 1 ubuntu ubuntu 5 Sep 28 23:22 a.txt -rw-rw-r-- 1 ubuntu ubuntu 5 Sep 28 23:23 b.txt -rw-rw-r-- 1 ubuntu ubuntu 5 Sep 28 23:23 c.txt ubuntuVM-0-4-ubuntu:~$ mkdir -p target ubuntuVM-0-4-ubuntu:~$ ls 1.txt data.txt target temp1 temp.txt test test.zip archive.tgz snap temp tempp.txt temp.zip test1.zip text_dir ubuntuVM-0-4-ubuntu:~$ tar -xzf archive.tgz -C target ubuntuVM-0-4-ubuntu:~$ ls target text_dir ubuntuVM-0-4-ubuntu:~$ tar -cvzf visible_archive.tgz text_dir text_dir/ text_dir/b.txt text_dir/c.txt text_dir/a.txt ubuntuVM-0-4-ubuntu:~$ ls 1.txt snap temp1 temp.zip test.zip archive.tgz target tempp.txt test text_dir data.txt temp temp.txt test1.zip visible_archive.tgz ubuntuVM-0-4-ubuntu:~$1.2 scp: 远程拷贝跨机文件传输工具功能基于 ssh 协议远程拷贝文件加密传输1. 上传本地文件传到远程机器scp temp.txt ubuntu10.0.0.4:/home/ubuntu含义把当前目录temp.txt传到10.0.0.4这台机器的/home/ubuntu2. 下载远程文件拉到本地scp ubuntu10.0.0.4:/home/ubuntu/temp.txt ./把远程/home/ubuntu/temp.txt下载到本机当前目录./3. 拷贝文件夹必须加-r递归和 zip -r 一样# 上传整个文件夹 scp -r test ubuntu10.0.0.4:/home/ubuntu # 下载整个文件夹 scp -r ubuntu10.0.0.4:/home/ubuntu/test ./1.3 bc: 交互式计算器工具功能linux中的计算器但是不支持浮点运算ubuntuVM-0-4-ubuntu:~$ bc #输入bc bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type warranty. 25 7 ^C (interrupt) use quit to exit. q 0 quit ubuntuVM-0-4-ubuntu:~$ bc bc 1.07.1 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type warranty. #输入算式 35 8 5/3 1 #输quit可以退出 quit ubuntuVM-0-4-ubuntu:~$结合管道使用ubuntuVM-0-4-ubuntu:~$ echo 123|bc 6 ubuntuVM-0-4-ubuntu:~$1.4 面试题讲解1.你的计算机体系结构是什么ubuntuVM-0-4-ubuntu:~$ uname -m x86_64 #体系结构2.如何查看你的 Linux 版本用uname -r也行ubuntuVM-0-4-ubuntu:~$ cat /proc/version #查看内核版本 Linux version 5.15.0-181-generic (builddlcy02-amd64-005) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #191-Ubuntu SMP Fri May 22 19:09:02 UTC 2026 #内核版本号为 5.15.0-181-generic3.如何查看你的具体系统发行版ubuntuVM-0-4-ubuntu:~$ cat /etc/os-release #查看发行版 PRETTY_NAMEUbuntu 22.04.5 LTS NAMEUbuntu VERSION_ID22.04 VERSION22.04.5 LTS (Jammy Jellyfish) VERSION_CODENAMEjammy IDubuntu ID_LIKEdebian HOME_URLhttps://www.ubuntu.com/ SUPPORT_URLhttps://help.ubuntu.com/ BUG_REPORT_URLhttps://bugs.launchpad.net/ubuntu/ PRIVACY_POLICY_URLhttps://www.ubuntu.com/legal/terms-and-policies/privacy-policy UBUNTU_CODENAMEjammy ubuntuVM-0-4-ubuntu:~$1.5 常用热键热键组合功能CTRLC中止当前操作并退出CTRLR进行历史命令的搜索要输入关键词CTRLD退出登录Tab自动补全指令或路径对于第四个热键给如下演示ubuntuVM-0-4-ubuntu:~$ whi which which.debianutils while whiptail ubuntuVM-0-4-ubuntu:~$ whi会给出相关的指令按下 tab大概一两下1.6 shutdown :关机功能安全关闭 / 重启 Linux 系统会给所有进程发送信号保存数据优雅关机ubuntuVM-0-4-ubuntu:~$ sudo shutdown now #普通用户加sudo后面的now也需要加表示立即关机也可以加数字表示时间 Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(腾讯) at 20:17:06. Type help to learn how to use Xshell prompt. [C:\~]$不过这个是直接把服务器给关了所以如果是云服务器还得去官网开机如下二、shell命令2.1 操作系统分为广义和狭义广义操作系统操作系统应用软件狭义操作系统操作系统内核开机时先启动的就是内核Linux本质就是一个操作系统但是用户使用的并不是操作系统的内核而是其外壳程序也就是shell用来与内核沟通。外壳程序就是命令行程序。外壳的作用是用来接收用户指令解析交给内核执行再通过外壳反馈外壳在一定程度可以拦截一些非法的请求总结为一句话Shell 是用户和 Linux 内核之间的命令解释器充当桥梁接收你输入的命令交给内核执行再把执行结果返回给你。详细拆解 4 个核心作用命令解释你在终端敲ls、cd、cpshell 读取你输入的字符串解析命令、参数调用内核完成对应的功能。例输入ls -lshell 识别ls程序传给内核运行然后把输出打印到屏幕。程序 / 脚本执行可以把一堆命令写到.sh脚本文件shell 批量自动执行实现自动化。# 简单脚本示例 test.sh #!/bin/bash echo hello shell环境管理维护环境变量PATH、HOME 等、别名alias管理当前工作目录。你之前设置的alias llls -alF就是 shell 维护的。输入输出重定向、管道实现|管道、重定向。例ls | grep txtshell 把前一个命令输出交给后一个命令作为输入。分类交互式 Shell就是你现在 ssh 登录用的终端敲一条命令执行一条。非交互式 Shell运行 shell 脚本一次性自动执行全部代码不需要人工输入。在Linux中的shell外壳程序叫做bash 。在windows中也有对应得外壳就是图形化界面安卓手机的底层也是Linux内核。此外shell的另一个作用是创建子进程执行任务通过子进程机制shell本身不会崩溃。2.2 root和普通用户区别1. UIDroot的UID为0普通用户UID通常从1000开始。 2. 权限root拥有系统最高权限可操作所有文件和进程普通用户仅能操作自家目录系统修改操作受限。 3. 家目录root家目录是/root普通用户家目录在/home/用户名。 4. 高危命令root可直接执行关机、安装软件普通用户需要sudo临时提升权限。 5. 安全风险root误操作极易损坏系统普通用户操作影响范围小。root的命令提示符为#而普通用户的命令提示符为$通过 susu-命令可切换用户。如su : 只进行身份互换而不改变环境su - 进行重新登陆sudo :短暂对用户提权前提是用户在白名单内默认情况下普通用户无法使用该命令ubuntuVM-0-4-ubuntu:~$ sudo passwd root #如果是ubuntu的话初始默认root无密码需要先设置 New password: Retype new password: passwd: password updated successfully ubuntuVM-0-4-ubuntu:~$ su root Password: rootVM-0-4-ubuntu:/home/ubuntu# su rootVM-0-4-ubuntu:/home/ubuntu# su ubuntu ubuntuVM-0-4-ubuntu:~$ sudo -i #不需要输入密码即可切换 rootVM-0-4-ubuntu:~# exit #输入exit退出 logout ubuntuVM-0-4-ubuntu:~$以上就是本期的全部内容。