awk
awk命令——Linux三剑客(三)
cd
命令 用法 cd [dir_name] 进入某个目录 cd - 返回上次目录,执行两次即返回当前目录 mkdir [dir-name] && cd $_ 创建目录并直接进入目录 CDPATH cd命令的环境变量,比如设置CDPATH=/root/, 在任意目录cd Desktop可进入/root/Desktop, 当前目录存在于CDPATH目录同名目录时,进当前目录需加./
cp
命令 用法 cp file1 file2 由file1拷贝一份file2 cp -r file1 dir1 dir2 把文件file1和目录dir1拷贝到目录dir2下 cp -avf file1 file2 由file1拷贝一份file2,保留所有权限,v显示拷贝信息,f强制执行 cp -HR source/ dest/ 如果source是软链接文件,则拷贝source指向的源文件或目录到dest目录,source中的链接文件还保留链接状态 cp -rHL source/ dest/ 会递归到source目录的所有链接文件
举例说明-HR额-HL的区别
[root@bogon /home/Sudley]#ll
total 0
-rw-r--r--. 1 root root 0 Oct 17 04:44 11
drwxr-xr-x. 2 root root 6 Oct 17 04:43 dest1
drwxr-xr-x. 2 root root 6 Oct 17 04:43 dest2
lrwxrwxrwx. 1 root root 15 Oct 17 04:46 Source -> /home/Sudley/SS
drwxr-xr-x. 2 root root 15 Oct 17 04:47 SS
[root@bogon /home/Sudley]#ll Source/
total 0
lrwxrwxrwx. 1 root root 15 Oct 17 04:45 22 -> /home/Sudley/11
[root@bogon /home/Sudley]#cp -HR Source/ dest1/
[root@bogon /home/Sudley]#ll dest1/
total 0
drwxr-xr-x. 2 root root 15 Oct 17 04:47 Source
[root@bogon /home/Sudley]#ll dest1/Source/
total 0
lrwxrwxrwx. 1 root root 15 Oct 17 04:47 22 -> /home/Sudley/11
[root@bogon /home/Sudley]#cp -rHL Source dest2
[root@bogon /home/Sudley]#ll dest2
total 0
drwxr-xr-x. 2 root root 15 Oct 17 04:50 Source
[root@bogon /home/Sudley]#ll dest2/Source/
total 0
-rw-r--r--. 1 root root 0 Oct 17 04:50 22
[root@bogon /home/Sudley]#
echo与printf
[root@bogon /home/Sudley]#echo "test"
test
[root@bogon /home/Sudley]#echo -n "test"
test[root@bogon /home/Sudley]#echo -n "test\n"
test\n[root@bogon /home/Sudley]#printf "test"
test[root@bogon /home/Sudley]#printf "test\n"
test
[root@bogon /home/Sudley]#echo -e "test\n"
test
[root@bogon /home/Sudley]#echo -e "test"
test
eval
[root@bogon /home/Sudley]#foo=100
[root@bogon /home/Sudley]#x=foo
[root@bogon /home/Sudley]#eval y='$'$x
[root@bogon /home/Sudley]#echo $y
100
[root@bogon /home/Sudley]#y='$'$x
[root@bogon /home/Sudley]#echo $y
$foo
exec、source、sh
exce:结束原来进程开启一个新进程执行后面命令(进程ID与原进程ID一样) source:在原进程中执行后面脚本(执行环境与原进程一样) sh:开启新进程(新进程执行环境为系统默认,与原进程执行环境无关)
[root@bogon /home/Sudley]#cat test.sh
#!/bin/bash
if [ -n "${kill}" ] && [ "${kill}" -gt 0 ];then
echo "skip define kill"
else
kill=0
fi
if [ "${kill}" -eq 0 ];then
kill=$(expr ${kill} + 1)
echo "source start kill=${kill}"
echo $$
source ./test.sh
echo "source end kill=${kill}"
fi
echo "${kill} and $$"
exec echo "exec $$"
echo "exec end"
[root@bogon /home/Sudley]#sh test.sh
source start kill=1
23966
skip define kill
1 and 23966
exec 23966
[root@bogon /home/Sudley]#
[root@bogon /home/Sudley]#cat test.sh
#!/bin/bash
if [ -n "${kill}" ] && [ "${kill}" -gt 0 ];then
echo "skip define kill"
else
kill=0
fi
if [ "${kill}" -eq 0 ];then
kill=$(expr ${kill} + 1)
echo "source start kill=${kill}"
echo $$
sh ./test.sh
echo "source end kill=${kill}"
fi
echo "${kill} and $$"|exec echo "exec $$"
echo "exec end"
[root@bogon /home/Sudley]#sh test.sh
source start kill=1
23594
source start kill=1
23596
source start kill=1
23598
source start kill=1
23600
source start kill=1
23602
...
[root@bogon /home/Sudley]#cat test.sh
#!/bin/bash
if [ -n "${kill}" ] && [ "${kill}" -gt 0 ];then
echo "skip define kill"
else
kill=0
fi
if [ "${kill}" -eq 0 ];then
kill=$(expr ${kill} + 1)
echo "source start kill=${kill}"
echo $$
source ./test.sh
echo "source end kill=${kill}"
fi
echo "${kill} and $$"|exec echo "exec $$"
echo "exec end"
[root@bogon /home/Sudley]#sh test.sh
source start kill=1
23546
skip define kill
exec 23546
exec end
source end kill=1
exec 23546
exec end
grep
grep命令——Linux三剑客(一)
ldd
命令 用法 ldd /usr/bin/ls 查看命令所依赖的库文件
ls
命令 用法 ls 简单列出文件 ls -l 以列表形式列出文件 ls -lh 以KB、MB等易于查看的单位显示文件大小 ls -al 列出所有文件 ls -lS 列出的文件由大到小排序 ls -lr 列出的文件由小到大排序 ls -R 递归列出子目录 ls *.rpm 列出.rpm结束的文件
file
linux是没有文件后缀名称的概念的,但是为了方便查看我们往往还是给文件加上后缀名称,想查询linux文件实际是什么类似需要使用file命令
命令 用法 file /usr/bin/ls 查看文件类型
pwd
rpm
命令 用法 rpm -ivh *.rpm [ --force --nodeps] 安装rpm包【无视报错】 rpm -qa 列出当前系统安装的rpm包名称 rpm -q python 列出python包名称 rpm -ql python 列出python包包含的所有文件 rpm -e python 卸载python包 rpm -qf /usr/bin/egrep 查看egrep命令安装包名称 rpm -qpl *.rpm 查看rpm包内容 rpm2cpio *.rpm | cpio -id rpm包解压
sed
sed命令——Linux三剑客(二)
set、unset
[root@bogon /home/Sudley]#y="a b c"
[root@bogon /home/Sudley]#set $y
[root@bogon /home/Sudley]#echo $1
a
[root@bogon /home/Sudley]#echo $2
b
[root@bogon /home/Sudley]#echo $y
a b c
[root@bogon /home/Sudley]#unset y
[root@bogon /home/Sudley]#echo $y
[root@bogon /home/Sudley]#
ssh
命令 用法 ssh root@192.168.1.10 利用远程机的用户登录 ssh -o stricthostkeychecking=no root@192.168.1.10 首次登录免输yes, 一般远程主机秘钥更新需要输入yes确认 ssh root@192.168.1.10 -t “cd /home/test;sh test.sh” 登录远程主机并执行命令 scp -r test.txt root@192.168.1.11:/home/test/ 拷贝文件【目录】到远程主机,支持反向拷贝
test
test命令用于检查文件或者比较数值和字符串 test命令详解