-P 选项(显示物理地址)
-P, --physical
avoid all symlinks
如下,可见 进入 软链接ptr 后,pwd显示ptr所在目录,pwd -P 显示ptr所指向的目录。
scp(安全copy 命令)
scp — secure copy (remote file copy program)
Manual(部分)
用法:
scp -r 源文件用户名a@主机名1:path1 目标文件用户名b@主机名2:path2
可把此语法 理解为:
以用a的身份,登入主机1,读取path1文件(文件夹);
再以b的身份登入主机2,写入path2文件(文件夹)。
如果 从本机 读取或写入,则 "目标文件用户名b@主机名2" 可省略
另外,前提是:
用户名a@主机名1 对path1有读权限
用户名b@主机名2 对path2有读权限
-r表示递归:
-r Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.
例:把 hadoop102 的 /home/atguigu/hello 文件夹及其内容, 复制到 hadoop103 的 /root 目录下
scp -r atguigu@hadoop102:/home/atguigu/hello/ root@hadoop103:/root/
例:以本机免密方式,把 hadoop102(本机) 的 /home/atguigu/hello 文件夹及其内容, 复制到 hadoop103 的 /opt 目录下
scp -r /home/atguigu/hello/ root@hadoop103:/opt/
例:以本机免密方式,把 hadoop102 的 /home/atguigu/hello 文件夹及其内容, 复制到 hadoop104(本机) 的 /home/atguigu/tmp/ 目录下
scp -r atguigu@hadoop102:/home/atguigu/hello ./
rsync(远程同步 命令)
rsync -rvlt ./hello root@hadoop102:/opt
用法:
可以只同步变化的文件(对比文件的修改时间);实行 增量同步(相同的文件不复制)。
语法:
rsync -rvlt path1 目标文件用户名B@主机名2:path2
-r: 递归,复制目录
-v: 显示复制的过程
-l: 同步软连接
-t: 基于文件的修改时间进行对比,只同步修改时间不同的文件
特别注意,只能将本机的文件同步到其他机器:
rsync -rvlt path1 目标文件用户名B@主机名2:path2
——上面这条命令中:
path1是个目录,若目录以'/'结尾,只会 同步 目录中的内容,不会同步目录本身!
path1是个目录,若目录不以'/'结尾,不但会 同步 目录中的内容,也会 同步 目录本身!
例:以本机免密方式,把 hadoop103(本机) 的 /opt/hello 文件夹及其内容, 复制到 hadoop102 的 /opt 目录下
rsync -rvlt ./hello root@hadoop102:/opt
hadoop103上 进行操作:
hadoop102上 观察结果,可见 hello文件夹、其内的文件 均被成功复制:
hadoop103上 /opt/hello下 新建 newdir文件夹 及 newdir/newtxt.txt文件,再把整个 /opt/hello文件夹 复制到 hadoop102上,可见只有 新建的文件夹newdir 和 文件newtxt.txt 被真正复制
rsync -rvlt ./hello roto@hadoop102:/opt/
搜索
grep(global search rgular expression(RE) and print out the line):是一种强大的文本搜索工具
如(ll是两个小写L) ll | grep -n name.txt 结果如下:
安装卸载软件
RPM 是 RedHat Package Manger(RedHat软件管理工具),是一种用于打包及安装工具
-qa : q代表query,a代表all
例(查到有Firefox包,卸载Firefox):
卸载命令 记法:-e可以理解为exclude; --nodeps可以理解为no dependencies:
卸载后找不到火狐(Firefox):
再次安装Firefox:
正在安装:
yum list firefox 显示软件包信息:
定时任务
centos6 语法:service crond restart
centos7 语法:systemctl restart crond.service
进入crontab编辑界面:crontab -e
每隔1分钟,向/opt/aaa.txt文件中添加"hihi"
可见/opt/aaa.txt文件中,很多"hihi"
杀进程
ps -ef | grep firefox
awk 命令
awk命令来源(就是三个牛人名字的首字母缩写连在一起, 记法:awksome的前3个字母):
选项参数 及 功能
-F 指定输入文件折分隔符
-v 赋值一个用户定义变量
Demo
复制passwd文件到当前目录:
sudo cp /etc/passwd ./
搜索passwd文件以root关键字开头的所有行,并输出该行的第7列:
awk -F : '/^root/{print $1, $7}' passwd
只显示/etc/passwd的第一列和第七列,以逗号分割,且 在所有行前面 添加列名"user, shell",然后 在最后一行添加"programmer, /bin/whatever":
awk -F : 'BEGIN{print "user, shell"} {print $1 ", " $7 } END{print "programmer, /bin/whatever"}' passwd
将passwd文件中的用户id增加数值1并输出:
awk -v i=1 -F : '{print $3+i}' passwd
如下,可见都成功+1
awk的内置变量
变量 及 说明
FILENAME:文件名
NR:已读的记录数
NF:浏览记录的域的个数(切割后,列的个数)
其他
vim显式行号: set nu
vim跳转到某行:
vim命令模式下:
ctrl+r 重复;u撤销。
man查看说明时,快捷键gg、G(gg首,G尾)仍有效,若上下翻页,则按f、b(front、back)。