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/ root@www.runoob.com:/home/root/others/ 从本地复制到远程

          scp root@www.runoob.com:/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对应进程打开的文件

 

 

1. 使用date命令显示当前日期。 2. 使用 who命令显示当前所有登录用户的信息,试依次打开多个终端,再查看输出结果的变化。 3. 查看当前linux服务器的主机名的命令。(hostname) 4. 使用clear命令,清除屏幕信息。 5. 添加一个组账号,名称为group1,打开图形界面观察执行后的结果。 6. 查询文件group中group1的记录,改变group1组的GID 为666, 再查看文件group中group1的记录。 7. 以自己的姓名全拼创建一个用户,指定UID为555, 加上用户的备注信息(姓名全称、所在院系等),初始组为group1,有效组为root,打开图形界面观察执行后的结果。 8. 为以自己姓名命名的账户设置密码,并查看passwd文件和shadow文件的最后一行。 9. 使用命令给自己的姓名账户密码冻结,用passwd查看账户相关信息,最后给账户解冻。 10. 进入以自己姓名命名的用户主目录,显示当前的路径,退出当前目录,返回根目录。 11. 复制文件/etc/passwd到用户主目录,文件名不变,打开图形界面Nautilus的窗口观察执行后的结果。 12. 统计文件/etc/passwd文件的字节数和行数。 13. 创建普通文件/home/abc1,创建普通文件/home/abc2。 14. 将/etc/passwd的内容追加到文件abc1中,将/etc/group的内容追加到文件abc2中。(利用附加输出重定向命令)。 15. 修改文件abc1的属性为:属主具有一切权限,同组用户和其他用户具有可读可写的权限。(使用数字模式) 16. 修改abc2的属性为:给其他用户增加可执行的权限。(使用功能模式) 17. 以长文件形式显示文件abc1的详细信息。 18. 进入/home目录,将文件abc1和abc2打包成文件ab.tar,放在以自己姓名命名的用户主目录下(比如/home/liqun),打开图形界面Nautilus的窗口观察执行后的结果。 19. 创建Readme.txt文本文件,内容为你的姓名全拼、学号等信息,保存关闭后用命令查看Readme.txt文件的内容,并在每一行前加行号。 20. 在root目录下创建新文件夹mydir1,其绝对路径为“/root/testdir/mydir1”(假设testdir目录事先并不存在)。 21. 在root目录下创建新文件夹dir1,将其移动到 /root/testdir/mydir1目录下。在root目录下创建新文件夹dir2,将其移动到 /root/testdir目录下,并将其改名为mydir2。打开图形界面Nautilus的窗口,观察以上这些步骤执行后的结果。 22. 分别删除/testdir目录下的mydir1和mydir2目录。(注意rm命令不加-r选项,系统会提示mydir1是个目录不能删除。)(尝试重复步骤20和步骤21,重建上述目录,执行步骤22,比较增加-f选项的区别)。 23. 建立文件/etc/group的符号链接文件/root/a.b,打开图形界面Nautilus的窗口观察a.b文件的特征。 24. 进入根目录的tmp目录下,建立test1和test2两个文件夹,在test1中建立文件a.log, b.log,用ls命令查看所创建的文件a.log,b.log。再把a.log 硬连接到test2目录,文件同名。把b.log 软链接到test2目录下,文件同名。用ls命令查看test2文件夹下所创建的文件,并打开图形界面Nautilus的窗口观察文件夹test2下a.log文件和b.log文件的特征。 25. 由超级用户切换为以自己姓名命名的普通用户身份,并使用普通用户的环境变量,再切换回超级用户身份。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值