必要的分区:根分区/和swap分区。 其他分区根据需要而定。 swap分区是不需要挂载点的。 linux的组成:内核,shell(用户与系统交互的界面),文件系统,应用程序 乌班图,redhat,centos都是基于linux内核开发的发行版。 ls ls *.conf ls h*.conf ls -a ls可以正则查找 //输出重定向,1个大于号2个大于号, cat <test1>test2 //cat 输入重定向符 输入文件名 输出重定向符 输出文件名,把test1里面的文件复制到test2。可以把命令的输出到文件中去。 ls >test3 //ls的输出不到文件而是到test3文件中去。 ls >>test3 //一个大于号是覆盖之前的内容,2个大于号是内容追加到文件末尾。 defergfr 2>test3 //错误重定向:把错误信息写入文件 cat /etc/passwd | grep root //文件中查找root linux的查找是找整个分区,which查找文件,whereis查找指定文件,locate查找,find查找,find查找实例。 which这个命令在/usr/bin/which下面。 ifconfig eth0 //查看第一个网卡信息 ifconfig eth0 down //停掉这个网卡 ifconfig eth0 up //启动网卡 vi ctrl+F,ctrl+B //向下向上翻页 set nu //行号显示出来 set nonu //取消行号 dd //删除一行 u //撤销 ctrl+r //反撤销 yy //复制当前行 p //粘贴 /word //查找 n N //查找上一个下一个 进程:每个进程不影响。 程序:代码的集合。 程序再运行的过程中产生进程,可以产生多个进程。产生几个进程取决于程序怎么写的。程序结束的时候进程也会结束。 每一个进程都有一个进程号。 ps //查看所有软件的进程信息 ps -ef //显示进程信息,UID是进程是基于用户启动的,pid是进程号,ppid是父进程,父进程是子进程的父亲,子进程是父进程派生出来的, ps aux //也可以查看进程信息,只是有了cpu使用率内存使用率, ps aux | grep apache 进程跟软件一样是又分类的,守护进程(后台进程)(服务进程),交互进程(既可以手动开始也可以系统启动的时候启动) ps aux | grep sendmail //是开机启动的发送邮件进程, service sendmail stop //就是去关闭sandmail进程,可以认为的干预, killall //将相关的进程都杀掉 ps -ef | grep apache killall -u apache //会发现apache进程并没有全部被杀死,因为apache的父进程没有杀掉,会再次派生出子进程, kill 3957 //根据进程号来杀 shell: bash也是shell的一种,shell是命令解释器。 shell是以行为单位的,shell只有整数和字符串。 #!/bin/bash //调用bash脚本的时候,是通知系统用什么解释器去解释这个脚本,如果bash是默认的shell就可以不写, # Program # this is a program echo -e "hello world" exit 0 shell脚本的2中执行方式:1.sh 文件名 2. ./文件名(权限不够,文件权限是-rw-r--r--),chmod 744 文件名,就可以执行文件了。shell脚本执行的时候会创建进程,执行完了之后把结果传递到父进程里面来。 //定义shell变量,name=string,变量名用小写命名,=是赋值,两边不能有空格,否则视为命令会报错,v1='ccdcdc',v2=centos,如果是字符串要加单引号或者双引号。如果只有一个单词可以不加。 v1=centos v2="heool" echo $v1 //输出变量 a=10 b=20 echo $a echo $b c=$(($a*$b)) //加减乘除运算要加双层小括号才行 echo $c echo $((100-200*2)) v2="vdvdvdv" echo ${#v2} //获取字符串的长度 echo ${v2:2} //从第二个字符开始截取 echo ${v2:2:2} //从第二个字符开始截取截取2个 //判断:文件是否存在,目录是否存在,是否有权限。 test判断命令,test -f文件是否存在,test -d目录是否存在,test -r文件是否有读权限,test -w文件是否有写权限,test -x文件是否有执行权限。 #!/bin/bash filename=/home/zhanshan test -f $filename && echo 'exit' || echo 'not exit' //文件存在就输出存在不存在就输出不存在 []判断命令:中括号中必须都要使用空格来分隔,中括号中的变量最好以双引号括起来,常数以单引号括起来。左中括号后面、==前后、右中括号前面、都要加空格。中括号更多用再在if条件判断里面 [ "Sa" == "Sc" ] && echo "yes" || echo "no" [ '12' == '10' ] && echo "yes" || echo "no" #!/bin/bash a=this b=there [ $a == $b ] && echo 'yes' || echo 'no' [ $a != $b ] && echo 'yes' || echo 'no' if [ -f $filename ]; then //文件是否存在 echo 'file exit' fi if [ -f $filename ]; then //文件是否存在 echo 'file exit' else echo 'else' fi if test -f $filename; then //文件是否存在 echo 'file exit' fi if [];then echo elif echo elif echo fi case $name in esca //多分支判断 #!/bin/bash echo 'please input you number' read number //读取输入 if [ $number == 1 ];then echo 'is 1' elif [ $number == 2 ];then echo 'is 2' elif [ $number == 3 ];then echo 'is 3' else echo 'not 1,2,3' fi //多分支判断 #!/bin/bash echo 'please input you number' read number //读取输入 case $number in 'a') echo 'is a';; 'b') echo 'is b';; 'c') echo 'is c';; *) echo 'not a,b,c';; esac //循环:while condition; do done , untile condition; do done;,for (());do done; i=10 while(($i>=5));do //while [ $i -gt 5 ];do echo $i; ((i--)) done; //(())小括号里面支持==,!=,>,>=,<,<=,[]里面用-eq,-ne,-gt,-ge,-lt,-le i=10 until(($i<=5));do //不执行的条件 echo $i; ((i--)) done; for((i=1;i<=10;i++));do //不执行的条件 echo $i; done; //多分支判断 #!/bin/bash function print(){ echo "your input is $1" } echo 'please input you number' read number //读取输入 case $number in 'a') print 'a';; 'b') print 'b';; 'c') print 'c';; *) print 'none';; esac