shell资料
来源:互联网 发布:网上看房用什么软件 编辑:程序博客网 时间:2024/04/30 13:24
unset all
unset LC_TYPE
unset LANG
ls -A
\l \c \d
>>file 2>&1
windows fodler have " " bat and shell need ""
$ and ${}
45
$ : > filename
$ > filename
$ echo "" > filename
$ echo > filename
$ cat /dev/null > filename
数组操作:
str="just do it"
echo str:$str
array=($str)
length=${#array[@]}
echo length:$length
echo $array
echo ${array[0]}
echo ${array[@]}
echo ${array[@]:1}
echo ${array[@]::1}
echo ${array[@]:1:2}
设置环境变量:
setx /M JAVA_HOME "%jdkpath%"
setx /M CLASSPATH ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar"
setx /M PATH "%PATH%;%%JAVA_HOME%%\bin"
properties文件读取:
muserId=`awk -F"=" '/DB.UID/{print $2}' $METERINGLOG_PROPERTIES_FILE`
mhost=`echo $HOST_PORT |cut -d ':' -f 1`
字符串(文件)复杂处理实例:
#1397401059||192.168.0.1||70_NetIO||OK||OK - The Traffic In is 18.709Mbps, Out is
122.638Mbps, Total is 141.347Mbps. The Check Interval is 60s||
In=18.709Mbps;400;600;0;0;0.19%[Out=122.638Mbps;500;700;0;0;1.19%[Total=141.347Mbps;900;
1300;0;0;1.42%[Interval=60s;1200;1800;0;0[bandwidth=10Gbps[UP[2/2/1
#find 1.txt
# gawk '{ sum += $1 }; END { print sum }' file gawk -F: '{ print $1 }' /etc/passwd
#'{print $6,$11}' '{split($6,a,"%"); split($11,b,"%"); if(a[1]>=1 || b[1]>=1) print
$1;}'
temp=`find /opt/FJSVctchg/bin/1.txt | xargs grep '.*' | sort -nr|awk -F ';' '{split
($6,a,"%"); split($11,b,"%"); if(a[1]>=1 || b[1]>=1) print $0;}'| awk -F '|' '{print
$3":"$5}'| sort -u | sed 's/_NetIO//g'`
echo temp:$temp
写log:
log()
{
NOW=`date "+[%Y/%m/%d %H:%M:%S]"`
echo ${NOW} $* >> ${LOG_PATH}/${LOG_NAME}.log
}
命令传参:
if [ "$1" != '-d' ]; then fi
if [ $1 -ne 0 ]; then fi
文件夹存在:
if [ -d "${SQL_DIR}" ]; then fi
文件存在:
if [ ! -e "${METERINGLOG_PROPERTIES_FILE}" ]; then fi
内部调用命令:
“命令”>> ${LOG_PATH}/${LOG_NAME}.log 2>&1
调用内部函数 check_restore_result $? $mdatabase
shell中单引号、双引号、反引号、反斜杠的区别
单引号告诉shell忽略所有特殊字符,
而双引号只要求忽略大多数,具体说,括在双引号中的三种特殊字符不被忽略:$,\,`
反斜杠一般用作转义字符,或称逃脱字符,linux如果echo要让转义字符发生作用,就要使用-e选项,且
转义字符要使用双引号
echo -e "\n"
反斜杠的另一种作用,就是当反斜杠用于一行的最后一个字符时,shell把行尾的反斜杠作为续行,这
种结构在分几行输入长命令时经常使用。
$()和``的区别
反引号和$()的功能是命令替换,将反引号或$()中的字符串做为命令来执行,我们在用shell编程时
经常用的到 将系统命令的执行结果赋给一个变量
但反引号内不能再引用反引号,而$()中可以引用反引号
记录命令历史
.bash_history !! !12
alias
*来匹配零个或多个字符,而用?匹配一个字符
要想系统内所有用户登录后都能使用该变量
需要在/etc/profile文件最末行加入 “export myname=Aming” 然后运行”source /etc/profile”
就可以生效了。此时你再运行bash命令或者直接su - test账户看看。
pstree
unset 变量名
【系统环境变量与个人环境变量的配置文件】
/etc/profile
/etc/bashrc echo $PS1
.bash_profile
.bashrc
.bash_history
.bash_logout
文档操作的命令
cat, less, head, tail, grep, cut, sort, wc, uniq, tee, tr, split, sed, awk等等,其中
grep, sed, awk为正则表达式必须掌握的工具
‘!$’表示上条命中中最后一个变量
cat /etc/passwd | wc -l -m -w
uniq -c 先用sort排序然后才能uniq
tee
tr '[a-z]' '[A-z]'
sleep 100 &
jobs
fg
bg
fg 1
1) command1 ; command2
2) command1 && command2
3) command1 || command2
who
netstat -a
ps -aux
sysnc ? shutdown ? reboot ? halt
reboot 就是重启,等同于 shutdown –r now
halt 关闭系统,等同于shutdown –h now 和 poweroff
Shutdown –h +10 十分钟后关机
忘记root密码如何做
1 重启linux系统
3 秒之内要按一下回车,出现如下界面
然后输入e
在 第二行最后边输入 single,有一个空格。具体方法为按向下尖头移动到第二行,按“e”进入
编辑模式
在后边加上single 回车
最后按“b”启动,启动后就进入了单用户模式了
此时已经进入到单用户模式了,你可以更改root密码了。更密码的命令为 passwd
mkdir 创建一个目录
rmdir 删除一个目录
rm 删除目录或者文件
cp copy的简写,即拷贝
mv 移动的意思
more 也是用来查看一个文件的内容。当文件内容太多,一屏幕不能占下
less 作用跟more一样,但比more好在可以上翻,下翻
tail 和head -n
groupadd
更改所属组 chgrp
chown [ -R ] 账户名:组名 文件名
改变用户对文件的读写执行权限 chmod
其中r 代表可读,w代表可写,x代表可执行
在linux中为了方便更改这些权限,linux使用数字去代替rwx ,具体规则为r: 4 w:2 x:1 -:0 举个
例子,-rwxrwx---用数字表示就是 770,具体是这样来的:
rwx = 4+2+1=7; rwx= 4+2+1=7; --- = 0+0+0=0
chmod 语法: chmod [-R] xyz 文件名 (这里的xyz,表示数字)
-R 选项作用同chown,级联更改。
值得提一下的是,在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644.
chmod 还支持使用rwx的方式来设置权限。!从之前的介绍中我们可以发现,基本上就九个属性分别
是(1)user (2)group (3)others 三群啦!那么我们就可以藉由 u, g, o 来代表三群的属性!此外,
a 则代表 all 亦即全部的三群!那么读写的属性就可以写成了 r, w, x!
chmod u=rwx,og=rx test/test2
umask
默认情况下,目录权限值为766,普通文件权限值为644
chattr 修改文件的特殊属性
语法: chattr [+-=][ASaci [文件或者目录名]
+-= :分别为增加、减少、设定
A:增加该属性后,文件或目录的atime将不可被修改;
S:增加该属性后,会将数据同步写入磁盘中;
a:增加该属性后,只能追加不能删除,非root用户不能设定该属性;
c:自动压缩该文件,读取时会自动解压;
i:增加后,使文件不能被删除、重命名、设定连接、写入、新增数据;
cat /etc/passwd|head
/sbin/nologin比较多,它表示不允许该账号登录。如果你想建立一个账号不让他登录,那么就可以
把该字段改成/sbin/nologin,默认是/bin/bash
groupadd groupname
tail -n 5 /etc/group
grep -n -i -A2 SHELL test
grep -n -i -C2 SHELL test
grep -c -i -B2 SHELL test
在正则表达式中,”^”表示行的开始,”$”表示行的结尾,那么空行则表示”^$”,如果你只想筛
选出非空行,则可以使用 “grep -v ‘^$’
sed -n '2,4' p test
sed -n '1,$'p test
sed -e '1,2s/test/te/g' test
sed -e 's/[0-9]/#/g' test
sed -e 's/[a-zA-Z]/#/g' test
awk -F':' 'NR>4' test
awk -F':' '{print $NF}' test
awk -F':' '$1~/chen/' test
awk -F':' '$1~/chen/ {print $2}' test 等效 awk -F':' '$1~"chen" {print $2}' test
awk -F':' '$1=="chen" ' test
awk -F':' '$1!="chen" ' test
awk -F':' '$1!="chen" && s1!="li" {print $2}' test
awk -F'=' '{if ($1=="test") print $1,$2,$3}' test
awk -F'=' '{if ($1=="test") sum+=1};END {print sum}' test
awk 'BEGIN{SUBSEP=":";array["a","b"]=1;for(i in array) print i}'
awk -F':' '$0~"chen" {print $1}' test $0表示全文本
date "+%Y%m%d %H:%M:%S" 20141024 17:02:46
数学计算要用’[ ]’括起来并且外头要带一个’$’
read x”表示x变量的值需要用户通过键盘输入得到
read -p 选项类似echo的作用
seq 1 5 表示从1到5的一个序列
for i in `seq 1 5`;do echo $i;done
sum=0;for i in `seq 1 100`;do sum=$[$i+$sum];done;echo $sum
awk -F':' '$0~/abc/ {print $1}' test.log >/tmp/n.txt
sort -n n.txt |uniq -c |sort -n >/tmp/n2.txt
awk '$1>10 {print $2}' /tmp/n2.txt
- shell资料
- shell定制相关资料
- Shell脚本相关资料
- shell定制相关资料
- linux shell的资料
- Shell 编程学习资料
- shell编程资料集合
- Linux Shell脚本资料
- shell 资料收集
- 批处理和Shell资料
- shell学习资料整理
- linux shell编程资料
- SHELL精简学习资料
- shell 学习资料
- shell学习资料:shell十三问
- linux shell 的一些资料
- Shell 脚本学习资料搜集
- Linux shell脚本学习资料
- scrollview can host only one direct child
- 在XEN环境中实现VLAN
- 保罗·格雷厄姆创业讲堂二:团队与执行
- 解决java中ZipFile解压缩时候的中文路径和乱码问题
- scikit-learn使用joblib持久化模型过程中的问题详解
- shell资料
- Core Data结构修改,升级,迁移,后,在AppStore中更新升级crash的问题.
- codeforces 431B Shower Line
- 第9周项目1-利用循环程序求和B
- AIX上Sybase15的安装
- cocos2dx A* + tiledMap(改良升级)
- Matlab之BP神经网络反向传播算法
- poj2243 hdu1372 floyid warshall
- 大学规划