skills_linux
- skills_linux
- 1 differences between soft link and hard link
- 2 压缩、解压缩、加密压缩
- 3 tree; tree -d; tree -L num
- 4 scp -r jdk1.8.0_291/ node3:$PWD
- 5 去掉You have new mail in /var/spool/mail/root提示
- 6 curl下载文件
- 7 进程休眠
- 8 vmware压缩linux虚拟机的磁盘大小
- 9 sftp登录方法和常用命令
- 10 shell终端中打开图形界面的文件夹
- 11 linux中批量递归删除目录下所有文件的Windows换行符\r
- 12 linux中利用fstab实现磁盘分区自动挂载
- 13 文件的分割和合并
- 14
- 15
- 16
- 17
- 18
skills_linux
1 differences between soft link and hard link
2 压缩、解压缩、加密压缩
2.1 tar
-
压缩
tar -cvf -
解压缩
tar -xvf
- 因为-f 表示指定文件名称,所以后面一定跟一个文件名
eg. tar -zcvf 09dir.tar.gz 09dir/ - tar拆分压缩大文件,以及加压缩拆分后的文件
tar zcvf - dir1/ | split -b 200m - dir1.tar.gz
cat dir1.tar.gz.a* | tar zxv
note: split用法:Usage: split [OPTION]... [FILE [PREFIX]]
2.2 zip(可以加密压缩)
- 压缩
zip -P ciichr Java.zip Java1.java Java2.java # 明文加密压缩
zip -e Java.zip Java1.java Java2.java # 交互式加密压缩,看不到输入的密码
some parameters:
-d delete entries in zipfile # 从 压缩文件内删除指定的文件
-r recurse into directories # 递归压缩目录内容
-q quiet operation
-v verbose operation/print version info
-e
--encrypt
ble, use the non-echoing, interactive prompt to enter passwords.
-P password
--password password
Use password to encrypt zipfile entries (if any). THIS IS INSECURE! Many multi-user operating systems provide ways for any user to see the current command line of any other user; even on
stand-alone systems there is always the threat of over-the-shoulder peeking. Storing the plaintext password as part of a command line in an automated script is even worse. Whenever possi‐
ble, use the non-echoing, interactive prompt to enter passwords. (And where security is truly important, use strong encryption such as Pretty Good Privacy instead of the relatively weak
standard encryption provided by zipfile utilities.)
- 解压缩
unzip
Grammer: unzip [-cflptuvz] [-agCjLMnoqsVX] [-P <密 码>] [.zip文 件] [文件] [-d <目录>] [-x <文件>] 或 unzip [-Z]
some parameters:
-l list files (short format)
-q quiet mode (-qq => quieter)
-v list verbosely/show version info
-o overwrite files WITHOUT prompting
-n never overwrite existing files
-P <password> # 如果压缩文件有密码,则使用该参数
[.zip文件] 指定.zip压缩文件
[文件] 指定 要处理.zip压缩文 件中的哪些文件
-d extract files into exdir # 指 定文件解压缩后所要存储的目录
-x exclude files that follow (in xlist) # 指定不要处理.zip压 缩文件中的哪些文件
# windows上的压缩文件解压缩到linux上时,中文会乱码,这时只需要指定解压缩的字符集为GBK即可
eg. unzip -q -O GBK -d dir7/ dir7.zip
# 也可以把 -q 和 -O 参数合并到一起
unzip -qO GBK -d dir7/ dir7.zip
3 tree; tree -d; tree -L num
4 scp -r jdk1.8.0_291/ node3:$PWD
$PWD :表示远程节点中和本地当前目录相同的路径
5 去掉You have new mail in /var/spool/mail/root提示
echo "unset MAILCHECK">> /etc/profile
source /etc/profile
6 curl下载文件
curl -O http://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm # 大写字母O
curl -o dodo222.jpg http://www.linux.com/dodo1.JPG # 小写字母o
wget -c http://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm # 支持断点续传
7 进程休眠
sleep 1 睡眠1秒
sleep 1s 睡眠1秒
sleep 1m 睡眠1分
sleep 1h 睡眠1小时
8 vmware压缩linux虚拟机的磁盘大小
8.1 启动虚拟机,执行如下命令来清理不使用的磁盘
dd if=/dev/zero of=/0bits bs=20971520
sudo rm /0bits
dd: error writing ‘/0bits’: No space left on device
1601+0 records in
1600+0 records out
33558560768 bytes (34 GB) copied, 442.518 s, 75.8 MB/s
8.2 关闭虚拟机
8.3 在vmware工作目录下输入虚拟机磁盘清理命令,等到命令执行完成。例如:
D:\develop\VMwareWorkstation>cd D:\develop\vm\node3
D:\develop\vm\node3>"D:\develop\VMwareWorkstation\vmware-vdiskmanager.exe" -k centos7.vmdk
note:以上方法亲测有效!之前试过直接使用下面这2个按钮,但是无效(后来测试在xp虚拟机上使用下面的2个按钮,有效!!!)
9 sftp登录方法和常用命令
① sftp [username@]{ip | hostname} (默认username是root)
指定用户名登录: sftp zygf@{ip | hostname}(zygf为用户名)
② 登录成功后,会提示输入密码
③ 然后,可进入目录, ls 查看目录下内容
④ cd 切换目录,get 获取文件, put 上传文件,pwd 查看当前目录
⑤ quit / bye / exit 退出sftp
10 shell终端中打开图形界面的文件夹
nautilus
11 linux中批量递归删除目录下所有文件的Windows换行符\r
vim deleteSpecialCharacter.sh
#!/bin/bash
for line in `find /develop/ideaws/bd | egrep -v ".crc$"`
do
if [ -f $line ]; then
echo $line
# vim -e -s -c "set fileformat=unix" -c "wq" $line # it's invalid
vim -e -s -c "%s/\r//g" -c "wq" $line
fi
done
note:执行完脚本后,git diff 某个文件,进行对比时,可能会报警告:\ No newline at end of file
git diff aaa.txt
此时不用理会,直接git commit提交所有代码即可,提交后,git diff中的警告消失。
reference(newest version):
github-deleteSpecialCharacter.sh
gitee-deleteSpecialCharacter.sh
12 linux中利用fstab实现磁盘分区自动挂载
如何格式化磁盘、给磁盘分区以及挂载,参考我的另一篇博客:
https://www.cnblogs.com/mediocreWorld/p/11123786.html
博客中有一个格式化分区的命令: mkfs -t ext4 -c /dev/sdb6, 可以用这个命令代替 mkfs.ext4 /dev/sdb6
还有其中的一个命令,设置开机自动挂载磁盘:echo "/dev/sdb6 /data02 ext4 defaults 0 0" >> /etc/fstab ,扩展一下。
我的/etc/fstab 配置文件,是以下这些内容:
UUID=6485a272-312b-4971-b39a-9eca7d48b9e7 / ext4 errors=remount-ro 0 1
UUID=f8ef8a43-653c-4de2-8a20-10490a1299fc /home ext4 defaults 0 2
UUID=89fc9952-7348-47cb-93dd-b354e8484767 none swap sw 0 0
UUID=e05681c1-9cf1-40a4-9c4a-95829f9683dc /boot ext4 defaults 0 2
UUID=4526-E5C5 /boot/efi vfat defaults 0 1
/dev/sdb6 /data02 ext4 defaults 0 0
其中,最后一行是我后来通过该命令 echo "/dev/sdb6 /data02 ext4 defaults 0 0" >> /etc/fstab
添加的。
可以看到,在 fstab 文件中,每行数据都分为了 6 个字段,它们的含义分别是:
- 用来挂载每个文件系统的分区设备文件名或 UUID(用于指代设备名);
- 挂载点;
- 文件系统的类型;
- 各种挂载参数;
- 指定分区是否被 dump 备份;
- 指定分区是否被 fsck 检测;
- 第一个字段可以是UUID,也可以是分区名,如/dev/sdb6。
查看UUID的2个方法:dumpe2fs /dev/sdb6 | grep UUID
ls -l /dev/disk/by-uuid/
- 第二个字段,需要强调的是,挂载点一定要是已经建立的空目录。
- 第三个字段为文件系统名称,CentOS 6.3 的默认文件系统应该是 ext4。
- 第四个字段是挂载参数,这个参数和 mount 命令的挂载参数一致。
- 第五个字段表示“指定分区是否被 dump 备份”,0 代表不备份,1 代表备份,2 代表不定期备份。
- 第六个字段表示“指定分区是否被 fsck 检测”,0 代表不检测,其他数字代表检测的优先级,1 的优先级比 2 高。所以先检测 1 的分区,再检测 2 的分区。一般分区的优先级是 1,其他分区的优先级是 2。
13 文件的分割和合并
-
分割:Usage: split [OPTION]... [FILE [PREFIX]]
eg. split -b 4000m -a 1 -d win7.iso win7.iso
-b 分割后的每个文件的大小
-a 后缀的位数,默认2位,此处设置为1位
-d 后缀名设置为0、1、2等的数字,默认是aa、ab等的字母
第1个win7.zip是要被分割的文件名称,第2个win7.zip是每个分割出来的文件名称的前缀,
假设win7.zip有5G,则最终分割好的文件包含:win7.zip0,win7.zip1 -
合并: cat
eg1. cat file1 file2 file3 > outputFile
eg2. cat x* >> newfilename