Linux常用基本命令

1.系统相关

查看文件状态

      stat 显示文件或文件系统的状态。

查看当前用户

      whoami 查看当前登录用户

关机:

      poweroff

           例如:poweroff #关机

      init 0

           例如:init 0 #关机

      shutdown

           例如:shutdown –h now #关机

           shutdown –h 23:00 #晚上11点关机

重启:

      shutdown

           例如:shutdown –r now #重启

           shutdown –r +30 'reboot now' #30分钟后重启,并且提示reboot now

2.用户操作

添加用户:

       useradd [选项] 用户名

            例:useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目                              录/usr/sam(/usr为默认的用户主目录所在的父目录)。

修改用户:

      usermod 选项 用户名

           例:usermod -s /bin/ksh -d /home/z –g developer sam 此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用             户组改为developer。

删除用户:

      userdel 选项 用户名

           例:userdel -r sam 常用的选项是 -r,它的作用是把用户的主目录一起删除。

添加用户组:

      groupadd 选项 用户组

           例如:groupadd group1 此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1

删除用户组:

      groupdel 用户组

           例如:groupdel group1 此命令从系统中删除组group1。

修改用户组:

      groupmod 选项 用户组

           例如: groupmod -g 102 group2 groupmod -g 102 group2

3.权限修改

切换用户:

     su

          例如:su - zhangying #切换用户,新用户环境变量

临时授权用户执行权限:

     sudo

          例如: sudo -u tank ls #以tank用户,来执行ls命令

          sudo touch test #以root账户来建一个文件test,为空默认是root用户

更改文件的用户/用户组:

     chown

          例如:chown runoob:runoobgroup file1.txt 将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup

修改文件权限:

     chmod

          例如:chmod 777 file

4.文件/目录操作

文件列表显示:

     ls

          例如:ls / 列出根目录(\)下的所有目录

          ls -l (ll) 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

          ll -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)

创建目录:

     mkdir

          例如:mkdir -p BBB/Test 在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一            个。

创建文件:

     touch

          例如:touch file #创建一个名为“file”的新的空白文件

输出文本:

     echo

          例如:echo "11111" #输出11111

          echo "hello word" >jackonill.txt 清除源文件所有内容,并插入单行。

          echo "hello word11" >>jackonill.txt 接上一命令,在原有文件基础上逐行添加。

拷贝:

     cp

          例如:cp –r test/ newtest 将当前目录"test/"下的所有文件复制到新目录"newtest"下

     scp

          例如:scp -r /home/space/music/ [email protected]:/home/root/others/ 从本地复制到远程

          scp [email protected]:/home/root/others/music /home/space/music/ 从远程复制到本地

移动:

     mv

          例如:mv aaa bbb 将文件 aaa 更名为 bbb

          mv /usr/student/* . 将/usr/student下的所有文件和目录移到当前目录下

删除:

     rm -r 递归 -f 强制

          例如:rm -rf test/ 删除目录 test,不管该目录下是否有子目录或文件,都直接删除

切换目录:

     cd

          例如:cd /usr/bin 跳到 /usr/bin/ 

          cd ../.. 跳到目前目录的上上两层

显示当前目录:

     pwd

5.文件查看/编辑

查看文件

     cat

          例如:cat -n a.txt 带行号显示文件内容

          cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3           文档里

     more

          例如:more a.txt 分页显示文件内容, 空格键显示下一页, b显示前一页

          more +20 testfile 从第 20 行开始显示 testfile 之文档内容

     tail

          例如:tail -n 10 a.txt 显示最后10行

          tail -f a.txt 持续输出

编辑文件:

     vim 三种模式: 命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

     命令模式下:

     :q                      退出

     :q!                     强制退出

     :wq                   保存并退出

     :set number     显示行号

     :set nonumber  隐藏行号

     /apache            在文档中查找apache 按n跳到下一个,shift+n上一个

     yyp                   复制光标所在行,并粘贴

     h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

6.文件查找

查找文件位置:

     find

          例如:find / -size +100M 查找 / 目录下 大于100M的文件

          find / -name *nginx* * 模糊多位 ? 模糊一位 查找 / 目录下名字为...的文件

根据文件内容查找文件

     grep -rn <字符串> <目录>

     grep -r 是递归查找

          例如: grep -r 'hello' /usr/local 查找/usr/local下所有文件中含有'hello'的文件

文件中查找内容

     vim 使用 /xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串

     grep 'hello' a.txt

替换

     grep 120.184.5.23 -rl //home/wwwroot/web2 | xargs sed -i "s/120.184.5.23/54.36.108.6/g"

     grep 231 -rl ./ | xargs sed -i "s/231/111/g"

          '231'字符串                 '231'旧值   '111'新值

7.压缩

解压

     tar -zxvf FileName.tar.gz

压缩

     tar -zcvf FileName.tar.gz  目录名

解压zip和war

     unzip WebRoot.zip -d +文件夹名

解压.gz文件

     gzip -d spring.log.2019-03-04.0.gz

8.网络/端口

查看端口占用

     netstat -tunlp |grep 端口号 用于查看指定的端口号的进程情况,如查看8000端口的情况

     lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况

开启指定端口

①查看作用域

② firewall-cmd --zone=public --add-port=6379/tcp --permanent

–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–permanent #永久生效,没有此参数重启后失效

③firewall-cmd --query-port=6379/tcp

或者 firewall-cmd --list-ports  查看已经开放的端口

防火墙

     service firewalld status centos7 查看防火墙状态

     service firewalld start;  或者 #systemctl start firewalld.service;#开启防火墙

     service firewalld stop;  或者 #systemctl stop firewalld.service;#关闭防火墙

     service firewalld restart;  或者 #systemctl restart firewalld.service;  #重启防火墙

     systemctl disable firewalld.service#禁止防火墙开启自启

     systemctl enable firewalld#设置防火墙开机启动

9.内存

查看cpu使用情况

     top

          查看某个进程cpu占用 top -p 8239 ps -aux | grep 8239

          获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps -aux | sort -k3nr | head -10

查看内存使用情况

     free

          free -h 列出总内存使用情况

          获取占用内存资源最多的10个进程,可以使用如下命令组合: ps -aux | sort -k4nr | head -10

10.磁盘

查看磁盘空间使用情况

     df

          例如:df -h #目前磁盘空间和使用情况 以更易读的方式显示

查询当前文件夹内各文件大小

     du -sh *

查看某文件所占磁盘的大小

     du -sh /myapps/jdk-8u144-linux-x64.tar.gz

11.进程

进程状态

     ps

          例如:ps -e #显示所有进程

          ps -aux #不区分终端,显示所有用户的所有进程

          ps -ef #显示所有进程的UID,PPIP,C与STIME栏位

          ps -ef|grep rpc.rstatd #查找rpc.rstatd进程

          ps -aux | grep named #查看named进程详细信息

列出当前系统打开文件

     lsof

          例如:lsof -c httpd   列出某个程序打开的所有文件

                  lsof -u zhangsan | more 列出某个用户打开的所有文件

                  lsof -p 3738 列出某个pid对应进程打开的文件

 

 

你可能感兴趣的:(服务器)