操作系统(一)
实验1:Linux基础及工具使用
查看自己的shell类型
查看默认 Shell:
- 使用环境变量
$SHELL来查看默认的 shell:1
echo $SHELL
- 使用环境变量
查看当前会话的 Shell:
- 使用
ps命令查看当前会话的 shell:1
ps -p $$
- 使用
列出所有可用的 Shell:
- 查看系统中所有可用的 shell:
1
cat /etc/shells
- 查看系统中所有可用的 shell:
运行结果

如何转换到其他 Shell
在 Linux 系统中,你可以通过以下几种方式切换到不同的 shell:
临时切换 Shell:
- 直接输入你想要切换到的 shell 名称,例如切换到
bash:1
bash
- 切换到
zsh:1
zsh
- 切换到
fish:1
fish
- 直接输入你想要切换到的 shell 名称,例如切换到
永久更改默认 Shell:
- 使用
chsh命令更改默认 shell。例如,将默认 shell 更改为zsh:1
chsh -s /bin/zsh
- 需要管理员权限时,可以使用
sudo:1
sudo chsh -s /bin/zsh
- 更改后,需要重新登录或重启终端以使更改生效。
- 使用
查看可用的 Shell:
- 查看系统中所有可用的 shell:
1
cat /etc/shells
- 查看系统中所有可用的 shell:
通过以上方法,你可以轻松地在不同的 shell 之间进行切换,无论是临时切换还是永久更改默认 shell。

Linux 命令行的语法结构
Linux 命令行的语法结构通常如下所示:
各部分的含义和作用如下:
- **
$**:表示命令行提示符,通常在用户终端中看到。实际输入命令时不需要包含这个符号。 - **
command**:要执行的命令名称。这是命令行中最核心的部分。 - **
[-]option(s)**:命令的选项,用于修改命令的行为。选项通常以短横线-开头,有时也可以使用长选项形式--long-option。 - **
op-argument(s)**:选项参数,某些选项可能需要额外的参数。这些参数紧跟在选项后面。 - **
command-argument(s)**:命令参数,用于指定命令操作的具体对象或目标。这些参数通常位于命令和选项之后。
示例
- 基本命令:
1
2
3
4
5
6
7
8
9
10
11
12一般来说,Linux命令的主要包括以下9类。
1)文件及目录管理命令,例如ls,cd,cat,grep,touch,pwd,od等
2)磁盘及设备管理命令,例如mount,umount,df,du,fsck,dd等
3)进程管理命令,例如ps,top,kill,bg,fg等
4)用户管理及权限管理命令,例如chmod,su,useradd,userdel等
5)系统管理及维护命令,例如date,cal,shutdown,clear,echo等
6)网络通信命令,例如netstat,ifconfig,ping,telnet等
7)数据备份命令,例如bzip2,bunzip2,gzip,gunzip,zip,unzip,tar等
8)文档操作命令,例如csplit,sort,wc等
9)文件传输打印命令,例如lpr,bye,ftp等
帮助命令man、help、info可以查看任何命令的手册,这里使用ls命令查看-s选项的
帮助信息
最常用的命令
1 | cd .. |
使用 tar 命令的示例
tar 是一个归档程序,它可以将许多文件打包成一个归档文件,或者将它们写入备份设备,例如磁带驱动器。tar 是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。使用 tar 可以打包整个目录树,这使得它特别适合用于备份。通常在 Linux 下保存文件都是先用 tar 命令将目录或者文件打成 tar 归档文件(也称为 tar 包),然后用 gzip 或 bzip2 进行压缩,压缩后的文件常见后缀有 .tar.gz、.tar.bz2、.tgz 或 .tbz 等。此外,tar 是一个命令行的工具,没有图形界面。
命令如下
- 仅对文件夹打包,不进行压缩:
1
$ tar -cvf /tmp/etc.tar /etc
- 文件打包后,并且以 gzip 压缩:
1
$ tar-cvzf /tmp/etc.tar.gz /etc
- 文件打包后,并且以 bzip2 压缩:
1
$ tar-cvjf /tmp/etc.tar.bz2 /etc

- 查阅 /tmp/etc.tar.gz 中的归档文件:
1
$ tar -tvzf /tmp/etc.tar.gz

- 从 /tmp/etc.tar.gz 中解压文件到 /user/local/src 目录下::
1
2$ cd /usr/local/src
$ tar -xvzf /tmp/etc.tar.gz
- 在/home当中,比2012/09/01日期新的文件才备份,输入命令:
1
$ tar-N "2012/09/01"-zcvf home.tar.gz /home

- 在/home当中,比2012/09/01日期旧的文件才备份,输入命令:
1
$ tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

shell使用教程
首先创建一个以.sh结尾的文件,例如:111.sh
1
touch 111.sh
使用vim编辑文件:
1
vim 111.sh
输入以下内容:
1
2
echo "Hello World !"
保存退出:
1
wq
有两种方式执行脚本:
1、作为可执行程序:赋予执行权限
1
2chmod +x ./111.sh #使脚本具有执行权限
./111.sh #执行脚本
2、作为解释器参数
1
./bin/sh 111.sh
这种方式运行的脚本,不需要在第一行指定解释器信息接下来的教程详见菜鸟教程:Shell脚本教程
- 文件打包后,并且以 gzip 压缩:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 倾尘!
