2016.10.13
20. 重定向
1) 输出重定向
> //以新建模式
>> //以追加模式
2) 输入重定向
wc < file file中内容作为输入传给wc命令
3) 错误重定向
ls dir 2> file
ls dir &> file
21. cat 查看文件
tac 反向查看
more 分屏显示
22. pwd 显示当前路径的绝对路径
绝对路径:/home/linux/
相对路径:.. .
23. 命令置换:将一个命令的输出作为另一个命令的参数
wc -l `ls`
24. 查找
grep:根据文件内容;find:根据文件名搜索。
1) grep [选项] "描述“ [路径]
grep -r “hello world” 递归
grep -rn “hello world” . 递归并显示行数
grep -n “hello world” file.txt 显示行数
. 当前路径
路径也可以是文件名
2) find [路径] [选项] [描述]
find . -name file
find . -type f -name file 只搜文件
find . -type d -name file 只搜目录
find . -type d -atime -1 //一天以内所有访问的目录文件
find . -type d -mtime -1 //一天以内所有访问并修改过的目录
25. echo -n “hello” 没有换行符
diff 比较两个文件
file 查看文件类型
du 显示磁盘空间的使用情况 du b.txt;du –ah b.txt
who 列出系统上的用户名单
whereis 查找命令
26. shutdown
sudo shutdown -h now 关机
sudo shutdown -h +17
sudo shutdown -h 12:18
sudo shutdown -r now 重启
sudo shutdown -r +17
sudo shutdown -r 12:18
sudo shutdown –c 取消
27. passwd
sudo passwd root //修改密码
su root //切换用户
exit //退出
28. date 显示时间日期,修改时间日期
sudo cp /usr/share/zoneinfo/Asia/Harbin /etc/localtime 改时区
sudo date -s 10/13/2016
sudo date -s 11:00:00
更改日期时,时间会归零,所以先改日期,后改时间
cal 日历
29. df
df -aTh //查看磁盘使用情况,以及文件系统
30. 用户管理
/etc/passwd
/etc/group
sudo adduser username
sudo deluser --remove-home yu
sudo usermod -g 组ID 用户名
31. 进程管理
ps aux 静态
top 动态
kill -9 PID //向一个进程发送死亡信号
32. 挂载
文件系统类型 设备 挂载点
sudo mount -t vfat /dev/sdb1 /mnt/yubo
33. ls
- rw-rw-r-- 1 linux linux 14180 10月 12 16:42 1.txt
类型 权限 链接数 用户 组 大小
1) 类型(7种)
b //块设备文件
c //字符设备文件
d //目录
- //普通文件
l //链接文件(软链接)
s //套接字
p //管道文件
2) 权限
r //读权限
w //写权限
x //可执行权限
34. 文件描述符:一个文件可以有多个
inode:每个文件只有一个
35. cp、mv、touch
cat、tac、more
head: 默认显示前10行,-5:显示前5行
tail: 默认显示后10行,-5:显示后5行
36.
1) 硬链接
ln filename link
a、对一个文件的备份,没有开辟新空间
b、普通文件类型
c、不支持对目录进行硬链接创建
2) 软链接(符号链接)
ln -s `pwd`/file link
a、类似快捷方式,开辟新空间
b、链接文件类型
c、支持对目录进行软链接创建
37. 命令 选项 提示用户解压工具
1) tar -cjf file.tar.bz2 file1 fil2 //由tar生成归档,由bzip2压缩
2) tar -czf file.tar.gz file1 fil2 //由tar生成归档,由gzip压缩
3) tar -xvf file.tar.gz //解压
二、shell脚本编程
1. Shell脚本的本质:Shell命令的有序集合。
2. 创建shell脚本文件
a. 1.sh
>> 1.sh //创建1.sh
b. chmod 777 1.sh //赋予执行权限
c. ./1.sh
rw- rw- r--
110 110 100
6 6 4
rwx rwx rwx
111 111 111
7 7 7
3. 变量
1) 自定义变量
等号赋值时没有空格 count=1
获取变量里的内容用$ echo $count
全大写变量
调用:在变量前加$ DATE=`date` echo $DATE
Linux Shell/bash从右向左赋值
unset命令删除变量赋值
2) 位置变量
命令行传递的参数
3) 预定义变量
$@ $* 命令行所有的位置参数,除第一个
$# 命令行所有参数的个数,除第一个
$$ PID
$? 1--- 上一条shell命令执行状态,成功为0
--- 只与一条shell命令有关
2--- Tab语句用$?承接
3--- 函数返回值只能用$?承接
4) 环境变量
HOME : /home/linux
4. read
从标准输入读入一行, 并赋值给后面的变量
5. expr
ret=`expr $A \* $B `
+ - \*乘 / % \( \)括号
6. test
真:$?=0 假:$?=1
1) 字符串
= != -z -n
s1 = s2 测试两个字符串的内容是否完全一样
s1 != s2 测试两个字符串的内容是否右差异
-z s1 测试s1字符串的长度是否为0
-n s1 测试s1字符串的长度是否不为0
2) 整数
-eq相等 -ne不相等 -gt大于 -ge大于等于 -lt小于 -le小于等于
-o 或
-a 与
3) 文件
a. 测文件类型
b c d - l s p //linux
-b -c -d -f -L -S -p //shell脚本
b. 测文件权限(用户本身)
-r
-w
-x
c. 其它
-d 测试一个文件是否为一个目录
-e 测试一个文件是否存在
-s 测试name 文件是否存在且其长度不为0
-f 测试一个文件是否为普通文件
-x 测试一个文件是否存在且为可执行
f1 -nt f2 测试文件f1 是否比文件f2 更新
f1 -ot f2 测试文件f1 是否比文件f2 更旧
4) [ ]可以等价替换test
与数据之间留有一个空格
7. if
if 表达式
then
命令表
fi
*****************************
if 表达式
then 命令表1
else 命令表2
fi
*****************************
if 表达式
then 命令表1
elif 表达式
then 命令表2
else 命令表3
fi
8. case
case 变量 in
模式1)
命令表1
;;
模式2 | 模式3)
命令表2
;;
……
模式n)
命令表n
;;
esac
*)代表其他,相当于C语言case语句中的default
9. for
for 变量名 in 单词表 //单词表为空格分隔的字符串;变量名不需要$获取
do
命令表
done
10. while
while 命令或表达式
do
命令表
done
11. break
continue
12. 函数
fun内有echo “\$0 = $0”
echo“\$1 = $1” //向fun内部传参
fun world //world给$1,与命令行参数无关
fun() // ()内没有参数,只是格式要求
{
echo “hello”
echo “$1” //参数
}
fun //调用
$?:承接函数的返回值
13.
进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动
程序:程序只是一组指令的有序集合
线程:线程是进程的一个实体,是CPU调度和分派的基本单位
Linux C基础2
最新推荐文章于 2024-07-08 11:18:36 发布