shell编程
Posted lijun522
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程相关的知识,希望对你有一定的参考价值。
(1)
passwd为密码文件,保存用户账户的基本信息
shadow为影子化了的密码文件,包含系统账户的密码信息和可选的年龄信息
group为用户组文件,是系统管理员对用户和用户组管理的文件
gshadow为影子化了的组文件,包含影子化了的组文件
(2)
id,显示用户id和组id
id -u,显示用户id
id -u root,显示root的用户id,为0
id -u lj,显示lj的用户id
(3)
1、
which python,查找系统目录下的python文件
whereis python,通过文件索引数据库查找含python的文件
locate python,搜索/var/lib数据库下的含python文件
find /usr/bin -name python,通过直接搜索硬盘的方式查找在指定目录下名字为python的文件
2、
grep -n -E ‘root|lj|^user*‘:/etc/passwd,在/etc/passwd目录下查找以root或cy为行首的重复零次以上、必须出现在行首的行
grep -n -E ‘ [[:digit:]] ‘ /etc/passwd,在 /etc/passwd目录下查找含有纯数字的行
grep -n -E ‘ [[:alpha:]] ‘ /etc/passwd,在 /etc/passwd目录下查找含有纯字母的行
grep -n ‘[0-9]\\{4,\\}‘ /etc/group,在/etc/group目录下查找含有纯数字4位以上的行
3、
sudo apt install gimp,安装gimp
which gimp,查找gimp的位置
sudo apt remove gimp,卸载gimp
which gimp,再次查找已经找不到gimp的位置了
4、
ls -dl /root --time-style=long-iso,在/root目录下显示文件目录信息,详细信息,时间按完整的ios时间格式显示
ls -dl /root --time-style=long-iso | cut -d‘ ‘ -f1,8,以空格为分隔符,截取上一条指令中的第一和第八个域
5、
ls -l --time-style=long-iso,列出文件的详细信息,时间设置为long-iso格式
ls -l --time-style=long-iso -t,列出文件的详细信息,时间设置为long-iso格式,按时间由近到远排序
ls -l --time-style=long-iso -t -r,列出文件的详细信息,时间设置为long-iso格式,按时间由远到近排序
6、
ls /usr/share/man,显示/usr/share/man目录下的文件
ls /usr/share/man | grep man[1-8],显示/usr/share/man目录下的文件搜索man1~man8
ls /usr/share/man/man1,显示/usr/share/man/man1目录下的文件
file /usr/share/man/man1/ls.1.gz,显示ls.1.gz的位置和具体信息
mkdir ~/temp; cp /usr/share/man/man1/ls.1.gz ~/temp,根目录下创建temp文件夹,把ls.1.gz复制到temp下
cd ~/temp; ls,转到temp目录下,查看所有文件目录
sudo gzip -d ls.1.gz; ls,解压并查看
7、
ls –l /home | grep "^d" | wc –l,在home目录下查找以d开头的行,并统计行数
8、
sudo adduser user7,创建用户user7
ls /home | tee users | wc -l,在home目录下查找用户名,并统计行数
(4)
1、
2、
3、
4、
(5)
1、
cp /etc/apt/sources.list t1; less t1,/etc/apt/sources.list 是包管理工具 apt 所用的记录软件包仓库位置的配置文件,保存了ubuntu软件更新的源服务器的地址
2、
sed -e "s/#.*//g" t1,sed命令是利用script来处理文本文件
3、
sed -e "s/#.*//g" t1 | awk ‘{if (length != 0) print $0}‘
4、
tail -5 /etc/passwd | awk -F: ‘{print $1}‘
5、
tail -5 /etc/group | tee t2
awk ‘BEGIN{print "file t2"} {print "line" NR ":" $0} END {print "over"}‘ t2,awk是一种处理文本文件的语言,是一个强大的文本分析工具
(6)
curl是Linux下一个很强大的http命令行工具
wget是一个下载文件的工具
(1)
1、
read用于从键盘读取变量值,11n代表有11位
2、
将专业号和文件名重定向到t1,t1作为前面的命令输出,然后再作为命令输入
总结与体会
虚拟机安装后总是报错,一开始的命令到都还能去使用,但是vim从一开始的课上就提示不能安装了,重装了几次系统,换了别人的iso包后问题仍没有解决好,vim编辑器的使用只能暂且先搁置一下了
以上是关于shell编程的主要内容,如果未能解决你的问题,请参考以下文章
Shell编程Shell中for循环while循环until循环语句