【Linux目录】
------------------------------------------------------
/ //根目录
/etc //配置目录
/mnt //挂载目录,外设目录
/boot //引导目录
/dev //设备目录
/lib //库目录
【创建链接文件 ln】
-------------------------------------------------------
1.硬链接
两个完全相同的文件,并且实时备份
删除一个,另外一个不删除。
修改一个,另外一个同步修改.
目录不能使用硬链接
$> ln b.txt b.ln //给b.txt创建链接b.ln
2.符号链接 -s
等价于windows的快捷方式
可以给文件夹创建快捷方式
$> ln -s b.txt blink //给b.txt 创建快捷方式 blink
$> ln -s tmp/ tmp.lnk //给tmp文件夹创建快捷方式tmp.lnk
3.访问符号链接的物理位置
$> cd -P tmp.lnk //访问tmp.lnk的物理位置
$> pwd -P //访问当前位置的物理位置
【sudo】
--------------------------------------------------------
1.临时借用root的权限执行一条命令
2.需要配置当前用户具有权限
找到[/ect/sodoers文件],在“toot All=(All) All”,之后添加一行文本“centos All=(All) All”;
3.然后就可以临时借用root权限,给tmp文件夹分配权限
$> sudo chown -R root:root tmp
【jobs】
---------------------------------------------------------
1.把程序放入后台运行。加&结尾。
$> nano a.txt &
2.查看后台运行的进程数
$> jobs
3.后台切换回前台
$> fg %n //n 作业job的编号
4.前台进程放置到后台
快捷键 ctrl + z
5.杀死作业
$> kill %n //n 作业编号
【进程查看ps】ps:process show
-----------------------------------------------------------
1.$> ps -AF | grep gonme //-A 查看所有进程。-F:所有列格式
2.$> top //动态显示进程信息和CPU的使用情况--任务管理器
【cut】剪切显示,部分显示
-----------------------------------------------------------
1.$> cut -c 2-5 b.txt //每一行文本都剪切显示第2到5个字符
2.$> ps -AF | cut -c 20-50 | more
【查看帮助】help
----------------------------------------------------------
1.help //os内置的命令
2.info //
3.man //查看特定命令,详细命令
4.--help //
【磁盘使用】
----------------------------------------------------------
1.fdisk :查看分区
$ fdisk -l /dev/sda
2.df :查看磁盘空间空余 disk free
$> df
$> df -ah
3.dirname: 取出指定地址的上级目录路径
$> dirname a/b/c/d //--> a/b/c
4.basename: 取出指定地址的最后一个目录的名称
$> basename a/b/c/d //--> d
【主机名】
--------------------------------------------------------
1.显示主机名
$> hostname
2.修改主机名
$> sudo nano /etc/hostname
【配置主机名和ip地址的映射】
-- 修改[/etc/hosts文件]
-- 清空内容
-- 添加新内容
-- 127.0.0.1 localhost
192.168.43.200 s200
【重启命令】
---------------------------------------------------------
1.$> reboot //重启
2.$> halt //停止,休眠,黑屏
3.$> poweroff //关机
4.$> shutdown //
【命令嵌套】
---------------------------------------------------------
1.`` :反引号,强制命令转换
$> echo `cat b.txt`
2.$(commond): 多级命令嵌套
a.txt 内容: echo echo
$($(cat a.txt)) hello > a.txt
【创建用户】useradd
--------------------------------------------------------
1.用户与组的关系
一个用户可以有多个组,但是有一个首要组。创建用户的时候,会创建一个组
2.创建新用户centos2(要切换到root下)
$> useradd -m centos2 //创建用户
$> passwd centos2 //修改密码
3.删除新建用户centos2(要切换到root下)
$> userdel -r -f centos2
【环境变量】
--------------------------------------------------------
1.访问环境变量
$> echo ${PATH}
$> echo $PATH
$> echo "$PATH"
【命令执行过程的变量定义】
--------------------------------------------------------
1.定义
$? //用来存储你的上一个命令成功(0)还是失败(1)
$# //用来存储传入参数的个数
$1 //用来存储传入的第一个参数
$0 //用来储存当前执行脚本(命令)的名称
$@ //用来储存所有传入的参数
shift //参数左移
-e //exists 判断文件(夹)是否存在
-d //判断是否是目录
2.演示
$> touch a.sh //创建 a.sh脚本文件
$> chmod u+x a.sh //给a.sh添加执行权限
$> nano a.sh //编写脚本文件
#!/bin/bash //固定头部格式
echo helloword!
echo 当前脚本名称是: $0!
echo 参数总个数是: $#!
echo 第2个参数是: $2!
echo 输出所有参数: $@~
echo ------分割线---------
echo $@
shift
echo $@
shift
echo $@
$> ./a.sh 1 2 3 4 //执行脚本
3.演示结果:
helloword!
当前脚本名称是: ./a.sh!
参数总个数是: 4!
第2个参数是: 2!
输出所有参数: 1 2 3 4~
------分割线---------
1 2 3 4
2 3 4
3 4
【export】定义变量,仅在本次会话有效
----------------------------------------------------------
1.变量与字段通过“$”进行区分。变量前面要添加$才表示变量
2. $> export name=tom
$> echo name //输出name
$> echo $name //输出tom
3.三元运算符
$> export name=${Var1:-${Var2}} //设置name变量的值为Var1,如果Var1不存在,就设置成Var2
【if】
----------------------------------------------------------------
1.语法:if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi
2.命令 gt -- great lt -- little eq --- equal ge --- great equal
if[ $# -lt 3 ] //如果传入参数的个数小于(-lt)3个
if[ $# -gt 3 ] //如果传入参数的个数大于(-gt)3个
if[ $# -eq 3 ] //如果传入参数的个数等于(-eq)3个
if[ $# -ge 3 ] //如果传入参数的个数大于等于(-ge)3个
if[ $# -le 3 ] //如果传入参数的个数小于等于(-le)3个
if[ -e xxx ] // xxx是否存在
if[ -d xxx ] // xxx是否是目录
3.演示
$> touch a.sh //创建 a.sh脚本文件
$> chmod u+x a.sh //给a.sh添加执行权限
$> nano a.sh //编写脚本文件
#!/bin/bash //固定头部格式
echo helloword!
if [ $# -lt 3 ]; //注意此处的if [ ... ]中的空格,不是if[...]。
then echo 参数太少!;
elif [ $# -gt 5 ];
then echo 参数太多!;
elif [ $# -eq 4 ];
then echo 参数==4!;
else echo 参数正好!;
fi;
$> ./a.sh 1 2 3 4 //执行脚本
【for】
---------------------------------------------------------------
1.语法:
① for:
-- for NAME [in WORDS ... ] ; do COMMANDS; done
② for ((:
-- for (( exp1; exp2; exp3 )); do COMMANDS; done
2.循环输出0-99
for((x=0;x<100;x=$x+1)); do echo $x; done;
for x in a b c d ; do echo $x; done;
3.实现累加1-100
for((i=1;i<100;i=$i+1))
do
sum=$[$sum+$i]; //此处"="两边不能有空格
done;
echo $sum;
4.循环嵌套
lines=5;
for((i=1; i<=$lines; i=$i+1)); do
for((j=1; j<=$i; j=$j+1)); do
echo -n $j;
done;
echo;
done;
【while】
-----------------------------------------------------------------
1.语法
while COMMANDS; do COMMANDS; done
2.循环输出0-99
i=0;
while((i<100));
do
echo &i;
i=$[$i+1]; //可以使用 i=$(($i+1)) 替代
done;