1、学习过程中常用命令总结
pstree树形显示进程;ps top
alias设置一个别名;
strace ls;//ls命令要做的事儿是很多的;
man 查看命令;
set 可以看见所有的命令[普通变量和全局变量];
env 全局[环境]变量可以被set命令看到;
echo $aa 取aa变量的值;echo $HOME; \a
export PATH PS2
history 默认保留1000个变量; set |grep HIS
history -c清楚命令;可以up和down来看命令;ctr +r,可以调出历史里的命令,匹配;
!!调用上一条命令; !+数字表示第几行的某一个命令;
pwd 路径
ps
top
pstree
kill -s 9 firefox
pgrep firefox
pgrep httpd[查询阿帕奇服务的进程ID]
pidof firefox-bin(全名)
一句话杀掉进程:
pkill -9 firefox
killall -9 firefox(全)
seq 1 100 产生1到100的数;
sleep 100 单位是秒S
unset 取消函数 或者变量,避免冲突;
ed 编辑器sed s/p/n/e
vi vim可视化显示
s/root/shrek/g 将root替换为shrek;
wc -l 看有多少行;-c -w[words]
man
--help
info [有小例子] 有*号的都可以回车,按U回到上一层;
cat
2、shell三种执行方式:
第一:要求可执行权限,且在新shell执行。a+x,输入脚本的绝对路径和相对路径;
直接执行路径相当于打开一个新的shell,bash aa也是打开一个新的bash;注意export的作用这是在该shell和子shell里可见;
vi data //data文件在root目录下;第二:指定一个bash脚本 或 tcsh脚本来执行,是在新的shell里执行。表示以bash或tcsh来执行脚本
chmod +x data //加上执行权限;
./root/data
./backup
vi data //data文件在root目录下;第三:在当前的shell里执行。在脚本的前面加“. ”;
bash ./root/data
bash ./data
. ./data3、与shell脚本的交互,输入或输出
实例如下:
#!/bin/bash//这里printf比echo控制的符号更多;
echo this is my first shell!
echo $1 \$1 读取$1
echo $2 \$2 读取$2
echo $3 \$3 读取$3
echo $# \$#-NumOfArg 变量的个数
echo $? \#?-result 执行的结果
echo $$ \$$-pid-to-kill 该进程的PID
read -p "please input your name:" AAA //读入数据;
printf "\t $AAA is a girl!\n"
pritnf "the first argue is %s" $AAA
printf "\a"