Linux 常用命令与解释(持续更新)

笔记 创建于: , 更新于: | Linux

1. ll 命令

此命令其实是做了如下 alias 的短命令,用于以 list 的形式查看当前目录中的文件和文件名的详细信息。
在用户根目录下的 .bashrc 或者 .zshrc 文件中添加如下代码:

1
alias ll="ls -l"

然后执行

1
2
3
source .bashrc
# 或者
source .zshrc

就可以用 ll 命令了。

2. 查看端口被哪个进程占用

有如下三种方法都可以:

1
2
3
lsof -i : 端口号
netstat -tunlp | grep 端口号
sudo netstat -lpn4   查看所有用户程序使用的端口

比如:

1
2
3
lsof -i : 80
netstat -tunlp|grep 8080
sudo netstat -lpn4 443

3. 只显示文件夹/目录

如果只想显示当前文件下的目录,可以用如下命令:

1
ls -ld */

4. 显示本目录中的文件和文件夹个数:

现在当前目录中的 (子目录 + 文件) 总数

1
ls | wc -w

5. Grep 排除多个条件

grep:一个强大的文本搜索命令,用于查找包含指定模式的行。
比如假设有一个名为 test.txt 的文件,内容如下:

1
2
3
4
5
6
aaaa this line will be filtered out.
This is a normal line.
bbbb this line will also be filtered out.
Another good line.
cccc this one is gone too.
This line is safe.

执行命令:

1
grep -v 'aaaa\|bbbb\|cccc' 

输出结果将是:

1
2
3
This is a normal line.
Another good line.
This line is safe.

可以看到,包含 aaaa、bbbb、cccc 的三行都被成功过滤掉了。 也可以用如下命令:

1
2
3
grep -v -E 'aaaa|bbbb|cccc'
# 或者合并写成
grep -vE 'aaaa|bbbb|cccc'

6. 批量替换文件中的内容,子文件夹同样有效

如果有大量文件内容需要替换(比如 .txt, .java 等),可以用如下命令。

1
sed -i "s/22222/11111/g"  `find . -name "*.txt"`

7. 删除 当前目录中 30 天前的文件

这个命令对备份文件、日志或数据十分有效,比如日志只存 30 天,或者备份的数据只存 30 天

1
find . -mtime +30 -name "*.*" -exec rm -rf {} \;

8. 从apache日志中统计来源IP访问数量, 并保存到 1.txt 文件中

1
gawk '{print $1}' down.zwcad.com-access_20130325.log |sort|uniq -c|sort -n -r > ~/1.txt

9. 删除 .svn 目录或其他任何目录

1
find . -type d -name ".svn"|xargs rm -rf

10. 把当前目录下的所有子目录(非文件)的权限改成 755.

这个命令对权限设置十分方便:

1
find . -type d -exec chmod 755 {} \;

11. 把当前目录下的所有文件(非目录)的权限改成 644

这个命令结合上面对目录权限一起使用十分方便。

1
find . -type f -exec chmod 644 {} \;

12. 批量改变编码:

1
2
3
4
5
yum install enca
enca -L zh_CN -x utf-8 *

#应用到子目录
find -type f -name "*.html" -exec enca -L zh_CN -x utf-8 {} \; 

13. 统计当前文件夹下文件的个数

1
ls -l |grep "^-"|wc -l

14. 统计当前文件夹下目录的个数

1
ls -l |grep "^d"|wc -l

15. 统计当前文件夹下文件的个数,包括子文件夹里的

1
ls -lR|grep "^-"|wc -l

16. 统计文件夹下目录的个数,包括子文件夹里的

1
ls -lR|grep "^d"|wc -l

17. 挂载硬盘

1
2
3
4
5
mount -o  context=system_u:object_r:var_t:s0 /dev/xvdf /www 

vi etc/fstab
# 在最后一行添加代码:
/dev/xvdf    /www    ext4     defaults        0 0

18. 查看挂载盘的文件格式

如果有挂载数据盘的话,可以用这个命令

1
file -sL /dev/xvd*

19. /etc/ssh/sshd_config 配置

1
2
3
PermitRootLogin no     #禁止Root远程登入
DenyUsers uncleit       #指定不允许 uncleit 远程登入,但能本地登入,其他用户不受影响
AllowUsers uncleit admin #只允许 uncleit 和 admin 远程登入,其他用户只能本地登入
笔记标签:

评论 ( 如有任何问题,请在下方留言和讨论 )