Linux是一种广泛使用的类UNIX操作系统,是真正的多用户、多任务操作系统,具有强大的信息处理功能。
推动Linux发展的人们: Linus —— 1991年发布 Dennis ——C语言之父 查理德 ——自由软件之父
Linux的特点:
与UNIX系统兼容自由软件和开放源代码便于制定和再发开互操作性高全面的多任务和真正64位操作系统操作系统的功能
控制硬件管理资源(CPU/内存/硬盘)提供用户接口(图形界面,命令行界面)处理输入/输出 (鼠标,键盘,显示器等)监控系统(资源使用情况,软硬件故障报警)通信(网络,无线)Linux有两种版本:核心版本 和 发行版本 。
国内开发的Linux系统常见的有:普华,深度和麒麟。
Linux目录结构 常用目录:
/bin: 这个目录存放着最经常使用的命令。/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home:用户的主目录,在 Linux 中每个用户都有一个自己的目录。/lib:这个目录里存放着系统几乎所有的应用程序。/dev:设备文件夹。/root:超级权限者(管理员)的用户主目录。文件类型
普通文件 ①文本文件 ②数据文件 ③可执行的二进制程序文件目录文件 (与普通文件差别是它是有成对的“I节点号/文件名”构成的列表)设备文件 ①字符设备 ②块设备符号链接文件总结:
Linux的目录中有且只有一个根目录。Linux是以文件的形式管理我们的设备。文件显示命令:
代码作用cat打印输出more/less查看文本head打印文件开头n行tail打印文件结尾 n行touch修改或创建文件clear清屏其他一些命令:
代码作用pwd显示当前目录cd /跳到总目录ls列出所在目录下文件ls -l列出所在目录下所有文件的详细信息cd【文件夹名字】进入文件夹cd …退回上一级目录mkdir 【文件夹名字】创建文件夹rmdir 【文件夹名字】删除文件夹cp 【A】 【B】将【A】复制成为【B】cat 【A】查看文件内容wc筛选统计rm 【文件名】删除文件mv 【A】 【B】把A的名字改成Bmv 【文件名】 xxx/(目录)移动chmod修改权限继续更新,今天国庆中秋双节,祝大家双节安康!!!
链接文件: Linux具有为同一个文件起多个名字的功能,称为链接。
硬链接 建立连接时,在其他目录或者本目录中增加目标文件的一个目录项,这样一个文件就登记在多个目录中。创建硬链接后,已存在的文件的I节点号会被多个目录文件项使用。 ①不能对目录文件创建硬链接 ②链接文件和被链接文件必须位于同一个文件系统符号链接 符号链接也称为软链接,是将一个路径名链接到一个文件。 ①删除源文件或目录,只删除数据,不会删除链接。 ②号链接的大小是链接文件的路径名的字节数。 ③当查看文件信息时,可看到符号链接有一个箭头指向原文件或目录。 ... 9月 20 21:20 /etc/cfx->/king_file硬链接和软连接之间的区别:
硬链接不可链接目录,软连接可以链接目录硬链接删除后会保存原有内容,软链接不会文件权限管理
文件/目录所有者:
u:文件主g:组用户o:其他用户a:所有人文件类型:
普通类型d:目录l:软连接c:字符设备【键盘、鼠标等】b:块文件【硬盘】rwx权限详解:
rwx作用到文件:
r:可读。读取查看。w:可以修改。但不代表可以删除该文件。删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。x:可以被执行。rwx作用到目录:
r:可以读取,ls查看目录内容。w:可以修改,目录内创建+删除+重命名目录。x:可执行,可以进入该目录。修改权限 chmod
修改文件或者目录的权限
+:添加权限-:取消权限=:赋予给定权限并取消其他例:
$chmod u=rwx,g=rx,o=x 【文件目录名】 分别赋予权限 $chmod o+w 【文件目录名】 给其他人都增加写的权限 $chmod a-x 【文件目录名】 给所有的用户都减掉执行权限通过数字变更权限 规则:r=4 w=2 x=1 rwx=4+2+1=7
$chmod u=rwx,g=rx,o=x 【文件目录名】 $chmod 751 【文件目录名】 两种方式相同文件压缩与解压
gzip/unzip $cd /home/cfx/first $gzip -dv * fir //将/home/cfx/first目录下所有文件压缩 $unzip fir.zip tar tar zcvf wsyu.tgz file* //打包、压缩 tar zxvf wsyu.tgz //解压暂时先不写,哈哈哈哈哈小白菜还不是很会!
linux中的shell简介
什么是shell? Shell是linux的一外壳,它包在linux内核的外面,为用户和内核之间的交互提供了一个接口当用户下达指令给操作系统的时候,实际上是把指令告诉shell,经过shell解释,处理后让内核做出相应的动作系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上 什么是shell脚本? 简单的说,当命令或者程序不在命令行执行,而是通过一个程序文件来执行,这个程序就被称为shell脚本也就是在shell脚本里内置了多条命令,语句,循环控制,然后将这些命令一次性执行完毕,这种通过文件执行命令的方式称为非交互式 为什么使用shell脚本? 适合处理操作系统底层的业务,有众多系统命令为其做支撑适合处理纯文本文件,linux中许多服务配置文件,启动脚本linux系统脚本用shell开发更简单查看系统的默认shell方法:
echo $shell 或者 grep root /etc/passwd ##如果想要查询其他用户,只需要更换关键字即可 shell脚本的建立 #!/bin/bash ## /bin/bash指定解释器:由哪个程序来执行脚本内 echo "Hello world" ##注意:#!/bin/bash必须写在第一行,否则会被认为是注释。查看所有的shell类型
cat /etc/shells ##查看所有的shell类型命令 常用的shell类型有: /bin/sh /bin/dash /bin/bash /bin/rbsh 脚本开发规范注释:可以命令后,也可以自成一行 脚本信息: 脚本名:最好以.sh结尾
老师讲的一些知识点:
字符串处理:sed 和awlc
执行脚本:
./ [脚本名] dash [脚本名] sourch [脚本名]查看历史命令 ①直接上翻按键 ②命令:history ③清除历史记录:history -c ④若历史记录有编号:执行 ---- !+编号
关于计算:
var=123 echo $var 结果:123 echo class:$var 结果:class:123 echo 'class:$var' 结果:class:$var echo "class:$var" 结果:class:123 var=1+1 echo $var 结果:1+1 let var=1+1 echo $var 结果:2 let var="1+1" echo $var 结果:2 var='expr 18+2' echo $var 结果:20 echo $[7+8] echo $((7+8)) expr 7 + 8 结果均为:15 上课和上机实验老师出的一些题目 ①统计用户个数 cat /etc/passwd | wc -l wc -l /etc/passwd②查看文件某一行或某几行
sed -n '5p' [文件名] --查看文件第五行 tail -1/-n [文件名] --查看文件最后一行/最后n行 head -1/-n [文件名] --查看文件第一行/前n行 head -5 [文件名] | tail -1 --查看文件第五行(命令组合使用)③打印出100以内3的倍数
for i in {0..100..3};do echo $i;done #!/bin/bash for i in $(seq 1 100); do if let "i%3==0"; then echo $i; fi done④编写一个显示文本名称的脚本
#!/bin/bash echo $o,$1,$2当参数超过十个应:
#!/bin/bash echo $0,$1,$2,$3,$4,$5,$6,$7,$8,$9 shift ---将参数整体左移 echo $9 ---打印第10个 shift ---将参数第二次整体左移 echo $9 ---打印第11个⑤获取字符串某字段 打印字符串"My name is 1990"中"1990"字段
var="My name is 1990" echo ${var:11:4} 结果:1990 str=${var:11:4} echo $str 结果:1990 echo ${var: -4} 结果:1990获取字符串"My name is 1990"长度
var="My name is 1990" echo ${#var} 结果:15 var="My name is 1990" echo ${var} | wc -l 结果:15 var="My name is 1990" echo -n "My name is 1990" | wc -c 15 ----c参数: 统计字符的个数 echo "My name is 1990" | wc -c 16 -----n参数: 去除"\n"换行符 var="My name is 1990" expr length ${var} 15 expr $str : ".*" 15⑥查看文件是否存在
#!/bin/bash if [ -f [文件名] ];then ---这里-f 和 -e 好像都行,又是有一、、差别 echo "文件存在" else echo "文件不存在" fi⑦将123写入file文件后,再追加456进去
echo 123 > file echo 456 >> file⑧创建函数
格式一: function func_1 { echo "This is func_1" } 格式二: func_2 (){ echo "This is func_2" } 函数名name是用字母、数字、下划线构成,不能以数字开头,一般以函数功能去命名函数出现重名时,以最新的函数为准,后续的函数调用都会使用新定义的函数函数调用要在函数定义之后