接触Linux也有一段时间了,主要以Debian系的Ubuntu为主,偶尔用CentOS。

Linux记住一些常用的命令基本上就算入门了,可以应付平常的大部分情况。

这里试图总结一个常用命令的清单,便于自己和初学者查找。

不定期更新。

 

一、账号操作

1. 查看现有账号:cat /etc/passwd

     其中最左侧的各种就是账号名。cat是查看的意思,别的文件也可以用cat命令查看。

2. 建账号:adduser XXX

    XXX是账号名称。注意不要用useradd命令,因为不会有密码,也不会在/home下创建用户文件夹。因此不能登录。

3. 更改密码:passwd

4. 删除账号:userdel -r XXX

 

二、查看磁盘、内存、分区

1. 查看所有挂载的磁盘: df -h

2. 查看所有挂载和未挂载的磁盘: fdisk -l

3. 查看内存:free -h

4. 分区和挂载:parted

 

三、软件安装和卸载

1. 在线安装:apt-get install XXX 重装:apt-get --reinstall install XXX

2. 更新和升级:apt-get update XXX; apt-get upgrade XXX

3. 安装所有依赖: apt-get -f install 

    其中 f 表示force

4. 安装deb包:dpkg -i XXX

5. 查看有没有安装某包: dpkg -l | grep XXX

6. 查看在线资源有没有某包:apt-cache | grep XXX 

7. 干净卸载某些软件:推荐tasksel和aptitude包;或者apt-get autoclean以及apt-get autoremove

8. 安装编译必须: apt-get install build-essential

 

四、查看系统版本

1. uname -a

2. cat /proc/version

3. cat /etc/issue

 

五、网络

1. 查看所有网络信息:ifconfig -a

2. 更改DNS:在/etc/resolvconf/resolv.conf.d/base 里添加nameserver XXX.XXX.XXX.XXX即可。多个就多行。

    cd /etc/resolvconf/resolv.conf.d

    nano base

    改好后:

    ctrl + X

    Y

    Enter(回车)

   修改后使其生效: /etc/init.d/networking restart

 

六、文件操作

1. 建立目录: mkdir XXX

2. 循环删除目录及其子目录: rm -rf XXX

3. tar.gz文件压缩与解压:

    解压:tar zxvf XXX.tar.gz

    压缩:tar zcvf XXX.tar.tz XXX

4. 查看指定目录下文件/文件夹(摘抄于):

    1) 指定文件下文件数,不包含文件夹:  ls -l ${指定的目录} | grep "^-" | wc -l 

    2) 指定文件下文件数,包含文件夹: ls -lR ${指定的目录} | grep "^-" | wc -l

    3) 指定文件下文件夹(目录)的个数,不包括子目录: ls -l ${指定的目录} | grep "^d" | wc -l

    4) 指定文件下文件夹(目录)的个数,包括子目录: ls -lR ${指定的目录} | grep "^d" | wc -l

5. 按文件大小阈值查询(便于删除大文件等):

    1) find ${指定的目录} -size -500b (-表示小于,用+的话则是大于, 500表示大小,b表示单位,也可以是k,g,m等)

6.批量修改文件的某一部分:

   sed 's/待修改/修改为/g' -i grep 搜索文件名 在此目录搜索

   例如: sed 's/,,/,/g' -i grep '*.json' ./*