网站软文推广范文,广州最新静态管理,渭南建设网,商业网站建设案例课程百度云Bash作为用户与操作系统之间的接口#xff0c;让用户通过命令行输入各种指令来控制和操作计算机系统。
shell的两种解释#xff1a;
1.linux命令解释器 Terminal 终端 ——》shell命令 ——》 Linux kernel #xff08;内核#xff09; Linux内核的作用#xff1a; 1.…Bash作为用户与操作系统之间的接口让用户通过命令行输入各种指令来控制和操作计算机系统。
shell的两种解释
1.linux命令解释器 Terminal 终端 ——》shell命令 ——》 Linux kernel 内核 Linux内核的作用 1.硬件的管理 2.内存的管理 3.文件的管理 4.进程的调度 Linux的基本命令
1. ls
ls -l列出当前目录下的文件和目录以长格式显示包含权限、所有者、组、大小、时间戳等信息。ls -a列出当前目录下的所有文件包括隐藏文件以.开头的文件。ls -F在每个文件名后加上一个符号表明文件类型如/表示目录*表示可执行文件。ls -h以人易读的格式显示文件大小如KB、MB、GB。
2. touch touch 1.c创建一个名为1.c的新文件如果文件已存在则更新文件的时间戳。 3. rm rm -f强制删除文件不提示确认。 rm -r递归删除目录及其内容。 rm -i在删除前询问用户确认。 4. mkdir •mkdir dir1 dir2创建一个或多个目录。
5. rmdir •rmdir 123删除空目录123。
6. cd •cd ..移动到上级目录。 •cd ../../../..向上移动四级目录。 •cd ~移动到用户的家目录。 •cd /home/linux/20190214移动到指定的绝对路径目录。
7. cp •cp 1 2将文件1复制为文件2。 •cp -av srcdir tgtdir递归复制目录srcdir到tgtdir同时显示详细的进度信息。
8. mv •mv 1 2将文件1重命名为2或者将文件1移动到目录2如果2是一个目录。
9.cat cat filename1显示filename1文件的内容。
10 操作符管道 |
管道( | )是Linux中非常强大的一个概念它允许将一个命令的输出作为另一个命令的输入。这极大地增强了命令的组合能力使得可以轻松地进行多步数据处理。 •cat /etc/passwd | less先使用cat命令读取/etc/passwd文件的内容然后将这些内容传递给less命令less允许你分页查看文件内容可以使用键盘箭头键滚动浏览q键退出。 •cat /etc/passwd | grep new -n先读取/etc/passwd的内容然后使用grep命令搜索包含单词new的行并显示行号-n选项。 11. whereis
whereis命令的输出通常分为三部分
•bbinary二进制文件的位置。
•mmanual手册页的位置。
•ssource源代码文件的位置。 12. grep
在文件中查找内容
grep [OPTIONS] PATTERN [FILE]... 例如搜索文件example.txt中包含hello的行
grep hello example.txtbash使用选项-n
-n选项告诉grep在输出中显示匹配行的行号。 grep main ./20170408/sec3/01socket/ser.c -n重定向
改变命令的输入和输出目的地通常用于将命令的输出保存到文件中或者将文件内容作为命令的输入
覆盖重定向
将命令的输出写入到指定的文件中如果文件已经存在原来的文件内容会被覆盖清空。
cat t1 t2 t3
将t1和t2两个文件的内容合并然后写入到t3文件中。如果t3文件已经存在其原有内容会被覆盖。
追加重定向
将命令的输出写入到文件中但与覆盖重定向不同的是它会在文件的末尾追加内容而不是覆盖原有的内容。 压缩和解压命令
解除压缩: tar -zxvf 文件名.tar.gz
.tar.gz 和 .tgz 打包并gz压缩
压缩cz打包压缩tar czvf FileName.tar.gz DirName
解压xz解包解压tar xzvf FileName.tar.gz
2.shell脚本
解释型语言 边翻译边执行
shell脚本的本质就是一系列shell命令的集合 用途 •系统维护定期清理日志、备份数据等。 •环境配置安装软件包、设置环境变量等。 •数据处理批量修改文件、分析日志数据等。 •网络监控定期检查服务器状态、发送警报邮件等。 1.shell脚本编写流程: 1.vim XX.sh #!/bin/bash 2.编写脚本 3.chmod x XX.sh 4. ./XX.sh /etc/ 配置文件 Permission denied 权限不足
解决办法 chmod 修改文件的权限 如何运行Shell脚本
1. 赋予执行权限使用chmod命令给脚本添加执行权限。
chmod x scriptname.sh
2. 执行脚本
•直接执行推荐
./scriptname.sh bash
•通过解释器执行 bash scriptname.sh 2.shell变量 1.环境变量: env PATH:保存当前工作的默认路径 PWD:当前所在的工作路径 HOME:当前登录用户的家目录 ... 2.main(int argc,char* argv[])
argc代表“argument count”参数计数是一个整型变量表示传递给程序的命令行参数的数量。这包括程序本身的名称也就是argv[0]。
argv代表“argument values”参数值是一个指向字符指针数组的指针其中每个元素指向一个字符串这些字符串就是命令行参数。argv[0]通常包含程序的名称argv[1]是第一个参数依此类推。每个字符串都以空字符\0结尾。 在很多编程语言中包括C、C和Shell脚本中函数返回0通常表示成功返回非0值通常表示某种形式的错误或异常情况。
3.位置参数
位置参数是指在脚本调用时通过命令行传递给脚本的参数。这些参数可以通过特殊的变量$0到$9来访问
•$0脚本文件名。这可以用来引用脚本本身的名字。
•$1第一个参数。
•$2第二个参数。
•…
•$9第九个参数。
注意位置参数的个数实际上可以超过9个但需要使用${10}这样的语法来访问第十个及以后的参数。
4.内置变量
内置变量用于获取脚本执行过程中的特定信息
•$#传入参数的个数。这可以帮助脚本确定有多少参数被传递进来。
•$?上一条命令的退出状态。这可以用来检查上一个命令是否成功执行0表示成功非0表示失败。
•$$当前Shell的PID进程ID。这可以用于与其他进程通信或在日志中标识脚本实例。 #!/bin/bash# 输出脚本文件名和传入的参数
echo Script name: $0
echo First argument: $1
echo Second argument: $2# 输出参数个数
echo Number of arguments: $## 检查上一句命令的执行结果
echo Exit status of last command: $?# 输出当前Shell的PID
echo Current Shell PID: $$# 拷贝文件
cp /etc/456 ./# 读取输入并输出
read -p Enter a number: a
echo You entered: $a# 算术运算
b456
c$((a b))
echo The sum is: $c
./3.sh /etc/passwd 123 Script name: ./3.sh First argument: /etc/passwd Second argument: 123 Number of arguments: 3 Exit status of last command: 0 Current Shell PID: 12345 Enter a number: 123 You entered: 123 The sum is: 579