Linux常用命令(二)
笺注:这是在 [url=http://blog.zhuohua.store/viewthread.php?tid=79&extra=page%3D1]LNMP一键安装包(lnmp_CentOS6.9)[/url] 的基础上进行的。查看操作系统的版本:
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@localhost ~]#
[root@localhost ~]# cat /etc/issue | head -1
CentOS release 6.9 (Final)
查看操作系统是32位还是64位:
[root@localhost ~]# getconf LONG_BIT
64
查看CPU信息:(以下是有两个CPU)
[root@localhost ~]# cat /proc/cpuinfo | grep "model name"
model name : Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
model name : Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
查看物理内存一共有多少:( m 是以MB为单位; g 是以GB为单位 )
[root@localhost ~]# free -m | grep "Mem:" | awk '{print $2}'
1861
[root@localhost ~]# free -g | grep "Mem:" | awk '{print $2}'
1
查看硬盘大小:
[root@localhost ~]#[color=Blue] fdisk -l[/color]
Disk [color=Purple]/dev/sda: 107.4 GB[/color], 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00060fd7
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 13055 104344576 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 102.6 GB, 102550732800 bytes
255 heads, 63 sectors/track, 12467 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
[color=Blue]lsblk[/color]
[attach]11556[/attach]
压缩(gz包)
tar -czf lnmp1.3-full.tar.gz lnmp1.3-full/
[attach]11557[/attach]
注释:可以一次性压缩多个目录、文件到一个压缩包的。
解压(gz包)
直接解压到当前目录:
tar -zxf lnmp1.3-full.tar.gz
[attach]11558[/attach]
注释:不加 [color=Blue]-C[/color] 就直接解压到当前目录
解压到指定目录:
tar -zxf lnmp1.3-full.tar.gz [color=Blue]-C[/color] /
[attach]11559[/attach]
注释:使用 [color=Blue]-C[/color] 就解压到指定目录
###
压缩(bz2包)
tar -cjf /dir1/test.tar.bz2 lnmp1.3-full/ install.log
[attach]11560[/attach]
注释:可以一次性压缩多个目录、文件到一个压缩包的。
解压(bz2包)
tar -jxf /dir1/test.tar.bz2 [color=Blue]-C[/color] /dir2/
[attach]11561[/attach]
注释:不加 [color=Blue]-C[/color] 就直接解压到当前目录
###
压缩(xz包)
tar -cJf /dir5/my.tar.xz lnmp1.3-full/
[attach]11562[/attach]
注释:也可以一次性压缩多个目录、文件到一个压缩包。
解压(xz包)
tar -xJf /dir5/my.tar.xz [color=Blue]-C[/color] /dir5/
[attach]11563[/attach]
注释:不加 [color=Blue]-C[/color] 就直接解压到当前目录
###
zip包
yum -y install zip
yum -y install unzip
压缩:
[root@localhost ~]# zip -r /dir1/test.zip lnmp1.3-full/ install.log
注释:可以一次性压缩多个目录、文件到一个压缩包的。
[root@localhost ~]# du -sh /dir1/test.zip
479M /dir1/test.zip
解压:
[root@localhost ~]# mkdir -p /dir3
[root@localhost ~]# unzip /dir1/test.zip [color=Blue]-d[/color] /dir3/
注释:不加 [color=Blue]-d[/color] 就直接解压到当前目录
[root@localhost ~]# ls /dir3
install.log lnmp1.3-full
cp命令——复制文件、目录
复制文件:
cp -rfp lnmp-install.log /dir1
[attach]11566[/attach]
复制的时候可以改名:
[attach]11567[/attach]
复制文件夹:
[attach]11568[/attach]
mv命令——移动文件、目录
移动文件:
mv -f install.log /dir1/
[attach]11569[/attach]
可以用于改文件名:
[attach]11570[/attach]
移动的时候也可以改名:
[attach]11571[/attach]
移动目录:
[attach]11572[/attach]
rm命令——删除文件、目录
删除文件:
rm -rf /dir1/test.zip
[attach]11573[/attach]
使用通配符 [color=Blue]*[/color]
rm -rf /dir1/[color=Blue]*[/color].log
[attach]11574[/attach]
删除目录:
[attach]11575[/attach]
stat 命令——查看文件信息
stat lnmp-install.log
[attach]11576[/attach]
注释:
Access: 文件最近被访问的时间;只要文件被读取过,都会更新。
Modify: 文件内容最近被修改的时间;只要文件内容被编辑过,都会更新。
Change: 文件属性最近被修改的时间;当文件的名称、大小、内容、权限、属主、属组等等被修改过,都会更新。
特殊符号 [color=Blue];[/color]
[attach]11577[/attach]
[attach]11578[/attach]
备注:不管第一条命令是否执行成功,都会执行第二条命令。
特殊符号 [color=Blue]&&[/color]
[attach]11579[/attach]
备注:当第一条命令执行成功后,才会执行第二条命令。
特殊符号 [color=Blue]||[/color]
[attach]11580[/attach]
[attach]11581[/attach]
备注:当第一条命令执行不成功后,才会执行第二条命令。
特殊符号 [color=Blue]&[/color]
[attach]11582[/attach]
注释:把命令放在后台执行。
xargs 命令——把管道前面的输出作为xargs后面命令的输入
例子一,把10天前创建的后缀为.tar.gz的文件删除:(会延伸到子目录的)
find /root/ -name "*.tar.gz" -a [color=Blue]-mtime +9[/color] | xargs rm -rf
[color=Blue]-mtime +9[/color] :表示文件的更改时间在10天以前;假设压缩包文件自创建以来都没有更改过,就可以认为文件是在10天以前创建的。
[attach]11583[/attach]
例子二,批量把后缀为.txt的文件进行改名:
ls *.txt |xargs -n1 -i{} mv {} /dir2/{}_bak
[attach]11584[/attach]
笺注:
1. 要先切换到源文件所在的目录,再使用命令ls
2. xargs -n1 -i{}类似于for循环,对前面输出的对象进行逐一处理
3. 第二个{}前面不能加路径,它代表前面输出的对象
4. 第三个{}前面可以加路径
5. 不会延伸到子目录的
例子三,一次性删除多个文件中包含某些内容的行:(以下是删除包含[color=Blue]8.8.8.8[/color]的行)
[attach]11585[/attach]
key='[color=Blue]8.8.8.8[/color]'
echo '
/dir1/11.txt
/dir1/22.txt
/dir1/33.txt
' | xargs sed -i "/${key}/d" &> /dev/null
[attach]11586[/attach]
注释:/dir1/11.txt、/dir1/22.txt、/dir1/33.txt 都会应用到的。
例子四,一次性修改多个文件的某些内容:(以下是修改[color=Blue]6.6.6.6[/color]为8.8.8.8)
key='[color=Blue]6.6.6.6[/color]'
echo '
/dir1/11.txt
/dir1/22.txt
/dir1/33.txt
' | xargs sed -i "s/${key}/8.8.8.8/g" &> /dev/null
[attach]11587[/attach]
注释:/dir1/11.txt、/dir1/22.txt、/dir1/33.txt 都会应用到的。
exec 命令——功能类似于命令xargs
例子一,把10天前创建的后缀为.gz的文件删除:(会延伸到子目录的)
find /root/ -name "*.gz" -a -mtime [color=Blue]+9[/color] -exec rm -rf {} \;
例子二,批量把后缀为.txt的文件进行改名:
find /dir1/ -name "*.txt" -exec mv {} {}_bak \;
[attach]11588[/attach]
笺注:
第一个{}前面不能加路径,它代表前面输出的对象(包括路径);
第二个{}前面也不能加路径,它代表前面输出的对象(包括路径);
会延伸到子目录的;
例子三,查找指定目录下大小为0字节的.txt文件并删除:(会延伸到子目录的)
find /dir1/ -type f -size 0 -a -name "*.txt" -exec rm -rf {} \;
[attach]11589[/attach]
例子四,查找当前目录下大于1M的.log文件并删除:(会延伸到子目录的)
find ./ -type f -size +1M -a -name "*.log" -exec rm -rf {} \;
[attach]11590[/attach]
例子五,查找指定目录下的所有空目录并删除:(会延伸到子目录的)
find /dir1/ -type d -empty -exec rm -rf {} \;
[attach]11591[/attach]
注释:虽然有报错,但命令的执行是没问题的。
split 命令——切割文档/文件
split [color=Blue]-b[/color] 500K lnmp-install.log /dir3/zhuohua_
备注:[color=Blue]-b[/color] 是指根据文件大小进行切割
[attach]11592[/attach]
注释:
除了最后一个文件,其他切割出来的文件的大小都是一致的;
切割出来的文件的后缀是自动生成的;
切割的命令执行后,不会影响被切割的原文件;
切割文件的大小单位有K、M、G
split -b [color=Blue]1M[/color] lnmp-install.log /dir3/zhuohua_
[attach]11593[/attach]
注释:切割的命令执行后,切割出来的文件会自动覆盖之前切割出来的文件!!
split -b [color=Blue]1G[/color] lnmp-install.log /dir3/zhuohua_
[attach]11594[/attach]
注释:切割的命令执行后,切割出来的文件会自动覆盖之前切割出来的文件!!
删除名称有序的文件:(有连续范围)
rm -rf /dir3/zhuohua_a[color=Blue][a-c][/color]
[attach]11595[/attach]
删除名称有序的文件:(没有连续范围)
rm -rf /dir3/zhuohua_a[edfg]
[attach]11596[/attach]
还可以依据文件行数来进行切割文件:
split [color=Blue]-l 2000[/color] lnmp-install.log /dir3/zhuohua_
[attach]11597[/attach]
注释:
除了最后一个文件,其他切割出来的文件的行数都是一致的;
切割出来的文件的后缀是自动生成的;
切割的命令执行后,不会影响被切割的原文件;
alias别名
查看别名列表:(默认是这样子的)
[root@localhost ~]#[color=Blue] alias[/color]
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
删除指定的别名:
[root@localhost ~]# [color=Blue]unalias rm[/color]
[root@localhost ~]#
[root@localhost ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
修改指定的别名:
[root@localhost ~]# [color=Blue]alias cp='cp -rfp'[/color]
[root@localhost ~]#
[root@localhost ~]# alias
[color=Purple]alias cp='cp -rfp'[/color]
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
此后使用cp命令时,就算目标文件已经存在,也不会有提示,而是直接覆盖了,如下图:
[attach]11598[/attach]
创建自定义别名:
[attach]11599[/attach]
笺注:如果自定义的新别名,与已经存在的别名的名字是一样时,新的会直接覆盖旧的。
注意,服务器重启后,alias别名会自动还原为默认的!!!
相关文章:
[url=http://blog.zhuohua.store/viewthread.php?tid=246&extra=page%3D1]Linux常用命令(一)[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=254&extra=page%3D1]Shell基础[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=248&page=1&extra=#pid251]sed命令[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=168&page=1&extra=#pid169]CentOS6使用Python3脚本备份站点(Zabbix)+crontab计划任务[/url]
页:
[1]