赞
踩
在不同的操作系统和应用程序中可以有不同的功能。在Unix/Linux系统的命令行终端中,Ctrl+D的作用是发送EOF(End of File)信号,表示输入结束。在Windows系统中,Ctrl+D的作用通常是删除当前选中的文件或文本。
Ctrl+C在大多数操作系统和应用程序中的作用是复制。选中文本或文件后,按下Ctrl+C可以将其复制到剪贴板。在Unix/Linux系统的命令行终端中,Ctrl+C的作用是中断当前进程。当用户输入一个长时间运行的命令时,可以按下Ctrl+C来停止该命令的执行。
赋值,=前后不能有空格
如果这个变量是空的或者未赋初值,则对其进行赋值. 否则, 就不赋值.
$符号用于访问变量
空命令[冒号]. 这个命令意思是空操作(即什么操作也不做). 它一般被认为是和shell的内建命令true是一样的。冒号":" 命令是Bash自身内建的, 它的退出状态码是真(即0)。
*代表0个或者多个特殊字符
在shell中也代表任意字符,比如ls a*,就是列出所用a开头的文件,
子shell本身就是独立的进程。可以使用()操作符来定义一个子shell
用于做命令替换,将$()替换为执行结果
命令的返回值被保存到$?中
$$是一个特殊变量,它可以返回当前进程/脚本的进程ID
特指标准输入或标准输出
例如在当前我要打包1个文件夹 /var/log/ 到当前目录下,并用zip压缩
命令如下
tar -cvf log.tar /var/log/
zip -r log.tar.zip log.tar
转换后
tar -cvf – /var/log | zip -r log.zip -
解释:第一条语句的输出(log.tar) 是第二条语句的输入
用 “-” 来取代这个输出输入
fname()
{
statements;
}
if condition1
then
command1
else if condition2
then
command2
else
command3
fi
for var in list;
do
commands;
done
当条件为真时,while循环继续执行;当条件不为真时,until循环继续执行
while condition
do
commands;
done
until condition
do
commands;
done
alias #查看别名
alias test='ping baidu.com' #设置别名
unalias test #取消test的别名
#!/bin/bash
echo ${BASH_SOURCE}
执行结果如下:
[root@hadoop01 sbin]# ./test.sh
./test
[root@hadoop01 sbin]# cd ..
[root@hadoop01 hadoop-2.7.7]# ./sbin/test.sh
sbin/test
1.echo $PATH (查看单个环境变量)
2.env (查看所有环境变量)
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/install/lib64
export LIBRARY_PATH=\$LIBRARY_PATH:/install/lib
export CPLUS_INCLUDE_PATH=\$CPLUS_INCLUDE_PATH:/install/include
export PATH=\$PATH:/install/bin
-e:支持反斜线控制的字符转换(字符转换表如下)
-n:取消输出后行末的换行符号
read -n 2 var
读取stdin两个字符到var
read -p var
用无回显方式读取用户输入
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。
test 命令 等价于 [命令]
1.数值
2.字符串测试
3.文件测试
eval命令将会首先扫描命令行进行所有的替换****,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。
source FileName
在当前bash环境下读取并执行FileName中的命令。
set -e : 执行的时候如果出现了返回值为非零,整个脚本 就会立即退出
set +e: 执行的时候如果出现了返回值为非零将会继续执行下面的脚本
let命令可以执行基本的算术操作。
let no+=6
操作符[ ]的使用方法和let命令一样
result=$[ no1+ no2]
bc是linux一个用于数学运算的高级使用工具。
echo "4 * 0.56" | bc
2.24
进制转换
echo "obase=2;100" | bc
将100转换为二进制(默认原来是十进制)
echo "obase=10;ibase=2;1100100" | bc
将1100100从二进制转为十进制
rmdir folder_name
rm -r folder_name //递归删除文件夹
只读模式 <
截断模式 >>
追加模式 >>
exec 3<input.txt
创建一个用于读取文件的文件描述符号3
cat <&3
读取该文件描述符号
exec 4>output.txt
创建一个用于写入(截断模式)的文件描述符4
echo "nexline" >&4
exec 5>>output.txt
创建一个用于写入(追加模式)的文件描述符5
echo "appendline" >&5
(list directory contents)
#为color.sh文件创建软链接linkcolor,如果color.sh丢失,linkcolor将失效。
ln -s color.sh linkcolor
#硬链接
ln color.sh lncolor
cat file1 file2 file3 ...
grep (global search regular expression(RE) and print out the line) ,它能使用正则表达式搜索文本,并把匹配的行打印出来。
转自
grep [options] [正则表达式pattern] [文件名]
diff 命令是一个分析文件信息的命令,可以打印出文件之间的差异。它可以逐行地比较两个文件的内容,也可以递归地比较文件夹的内容。diff 命令的输出内容可以让我们知道要使两个文件相同需要做哪些修改,这对于我们的工作很有帮助。
lsof 是 List Open File 的缩写, 它主要用来获取被进程打开文件的信息
lsof -c mysql
查看Mysql进程打开的文件
head -n 10 filename
显示filename头部10行
tail -f filename
把 filename 文件里的最尾部10行的内容显示在屏幕上,并且不断刷新
tail -n 10 filename
显示filename尾部 10行
pmap -x 进程号
kill -s 9 pid
强制杀死进程id为pid 的进程trap 'signal_handler_function_name' SIGNAL_LIST
SIGNAL_LIST以空格分隔,它可以是信号编号或信号名lsof 是 List Open File 的缩写, 它可以用来获取被进程打开文件的信息
lsof -c mysql
查看Mysql进程打开的文件
which命令的作用是,在PATH环境变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。命令的格式如下:
[test@node1~]$ which ls
alias ls='ls --color=auto'
/bin/ls
多进程间通信常用的技术手段包括共享内存、消息队列、信号量等等,Linux系统下自带的ipcs命令是一个极好的工具,可以帮助我们查看当前系统下以上三项的使用情况,从而利于定位多进程通信中出现的通信问题。
ipcs -a
查看当前使用的共享内存、消息队列及信号量所有信息
ipcs -p
查看与共享内存、消息队列相关的进程
date
输出系统当前时间date -s "2012-05-23 01:01:01"
设置系统时间stty -echo
禁止终端回显
stty echo
重新允许回显
tput命令将通过 terminfo 数据库对您的终端会话进行初始化和操作。通过使用 tput,您可以更改几项终端功能,如移动或更改光标、更改文本属性,以及清除终端屏幕的特定区域。
tput sc
存储光标位置
tput rc
恢复之前存储的光标位置
tput ed
清除从当前光标位置到行尾之间的全部内容
以指定增量从首数开始打印数字到尾数,seq命令用于产生从某个数到另外一个数之间的所有整数。
df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息
du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况,用于显示指定的目录或文件所占用的磁盘空间。
du -ah --max-depth=1 . #统计该目录下各个文件和目录所占磁盘空间,不往下面递归
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。
scp是Linux中功能最强大的文件传输命令,可以实现从本地到远程以及远程到本地的轻松文件传输操作
host google.com
nslookup google.com
route
ping Address
traceroute destinationIP
destinationIP可以是IP地址,也可以是域名lsof -i:端口号
netstat -tunlp | grep 端口号 #用于显示 tcp,udp 的端口和进程等相关情况
ssh命令能够给予ssh加密协议实现安全的远程登录服务器,从而实现对服务器的远程管理。
ssh 202.102.240.88
/etc/passwd: 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
/etc/group: 类似/etc/passwd ,但说明的不是用户而是用户组。
/etc/shadow: 由于/etc/passwd文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了此文件中
/etc/services: Internet守护进程ineted是linux世界中最重要的服务,它借助/etc/services文件处理所有的网络服务。/etc/services文件包含物理服务和它们映射端口的列表。inetd或者xinetd会查看这些细节,以便在数据包到达各自的端口或者服务有需求时,它会调用特定的程序。
该文件每行格式:service-name port/protocol [aliases…] [#comment]
/etc/protocols: 记录协议信息
/etc/networks: 定义了网络名和网络地址之间的映射关系
/bin放置的是在单用户维护模式下还能够被操作的命令,在/bin下面的命令可以被root和一般账号使用,主要有cat,chmod,chown,cpmkdir等常用命令
/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于设置设置系统环境,如开机,修复系统,还原系统等所需的命令。/sbin下的命令只有root才能使用。
/usr/bin 存放的是一些用户命令, 是你在后期安装的一些软件的运行脚本。
/usr/sbin 放置一些用户安装的系统管理的必备程式,例如例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。