Linux常用命令

本文记录一些日常工作中会经常用到的Linux命令及操作,**小声bb:该文不详细介绍具体命令的用法和原理;不然得出书才行,本文只是告知哪个命令可以做什么,具体使用细则需自行百度。** 其中PHP相关写在了另一篇文章中:https://www.jianshu.com/p/ba392606190d,有兴趣的可以阅读一下。 ###一,基本概念 1,Linux一切内容,都以文件形式保存;包括:硬件/dev,socket链接,网络,命令,等等。 2,Linux不靠扩展名区分文件类型,但是为了我们自己好区分,我们一般带上扩展名,例如:index.php 3,文件开头第一句: #!/bin/bash 可以指定该文件由哪个程序执行。所以我们也可以在一个文件的头部写:#!/usr/local/php/bin/php ,当我们执行这个文件的时候,它就会使用php程序去执行该文件。 ### 二,文件处理(子标题把自己工作内容给暴露了,[狗头.jpg] ) #####1,增 1. 创建一个名为test的目录:mkdir test;英文本意:make directory 2. 创建一个文件名为demo1.txt的 文件:touch demo1.txt 3. 创建一个软链接:ln -s [原文件] [软链接名字] :英文本意:link 大部分命令是其实是/usr/bin里面的文件,所以我们可以在/usr/bin目录下面创建一个软链接,指向该命令执行的二进制文件。 例如如果我们系统有多个php版本,我们想指定执行php 命令的版本为php7.4,可以: ln -s /usr/bin/php [php7.4的二进制执行文件地址] 4. 输出重定向: > 1,>把标准输出指定到某个文件(覆盖原文件内容);例如:把【你好】写入到demo.txt : echo '你好' > ./demo1.txt 2,>> 把标准输出追加到某个文件。 3,所以如果我们想清空一个文件demo.log里面的内容,可以: echo '' > demo.log #####2,删 >英文意愿:remove 1,删除一个名为demo1.txt的文件: rm -rf demo1.txt 2,删除一个目录为test里面的所有文件: rm -rf test/* 3,删除一个名为test的文件夹: rm -rf test #####3,改 1,更改文件权限:chmod 755 index.php >递归更改文件夹里面所有文件:chmod -R 755 test 2,更改文件拥有者(change owner):chown username /home/test/index.txt >默认拥有者:谁创建谁就是拥有者。只有root用户可以使用该命令 3,改变文件所属组(change group):chgrp groupname /home/test/index.txt 4,umask 0022 指定新创建的文件拥有的默认权限为755 5,拷贝(cp 英文意愿copy)文件,剪切(mv 英文意愿move)文件,重命名文件 ``` cp -rp [原文件或目录] [目标目录] 1,-r 复制目录; 2,-p 保留文件属性 mv [源文件或目录] [目标目录] 1,与复制一样,mv也是可以剪切多个文件夹到目标文件夹的:最后一个参数是目标文件夹 mv /tmp/tang /tmp/xiaoli /tmp/xiaoli/xiaolong 2,我们用 mv 来进行文件的重命名 mv /tmp/test.txt /tmp/demo.txt ``` ##### 4,查 1,查看一个文件,可以用cat ,less ,more ,vim,head,tail,等 ``` 1,查看一个文件: cat 1,显示行号: cat -n 2,把cat倒过来写,就会倒过来显示: tac 3,配合使用|管道和 grep ,可以查看你想看的内容,例如: cat /usr/local/php/etc/php.ini |grep post_max_size # post_max_size = 50M 2,查看一个文件,可以分页,方便查看很长的文件 more more /etc/services 空格,f 是翻页 回车是一行一行翻 q 退出 B 返回上一页 3,less 也是可以分页查看,less也可以搜索 ,输入斜杠 / 就可以进行搜索 more /etc/servers 输入斜杠/搜索关键词,然后按n (next) 切到下一个关键词,b切到上一个关键词 可以用enter 看下一行, pageUp ,pageDn 进行上下翻页 vim 也是有这样的功能的 4,只看文件的前几行: head -n 20 /etc/services -n 后面更行数,表示只看这个文件的前20行 5,只看文件的末尾的几行: tail -n 20 /etc/service -n 行数 ,表示只看文件的最后20行 1,tail 和 head 如果没有行数,默认都是显示10行 2,tail -f 可以动态的现实文件末尾内容 tail -n 20 -f /etc/services ``` 2,查找文件 ``` 1,find 用于根据文件属性(文件名,文件大小,修改时间,等)查找文件 find / -name php.ini #在根目录下查找php.ini文件 find . -name "*.c" #在当前目录及其子目录下面查找所有后缀为.c的文件 find . -ctime -20 #将当前目录及其子目录下所有最近 20 天内更新过的文件列出 2,whereis 用于查找程序,二进制文件,源代码文件 whereis php # php: /usr/bin/php /usr/local/php whereis bash # bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz 3,which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。 也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 which php # /usr/bin/php ``` ### 三,用户与用户组 ##### 1,用户 ``` 1,查看用户列表,直接查看文件:cat /etc/passwd 查看用户组信息,直接查看文件: cat /etc/group 用户密码文件:/etc/shdaow 保存用户密码(以加密形式保存) 2,创建一个用户:useradd LiMing 3,删除一个用户:userdel LiMing #可选参数 -r ,作用是把用户的主目录一起删除。 4,修改账户:usermod 选项 用户名 修改用户和创建用户的可选参数是一样的,主要有以下参数: -c comment 指定一段注释性描述。 -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -g 用户组 指定用户所属的用户组。 -G 用户组,用户组 指定用户所属的附加组。 -s Shell文件 指定用户的登录Shell。 -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 5,修改用户密码:passwd [选项] LiMing #不跟用户名,则表示更改当前用户的密码 可选参数: -l 锁定口令,即禁用账号。 -u 口令解锁。 -d 使账号无口令。 -f 强迫用户下次登录时修改口令。 6,查看当前用户: whoami ``` ##### 2,用户文件 /etc/passwd 各字段含义: ``` root:x:0:0:root:/root:/bin/zsh bin:x:1:1:bin:/bin:/sbin/nologin LiMing:x:1003:1003::/home/LiMing:/bin/bash LiMing : x : 1003 : 1003 : : /home/LiMing : /bin/bash 用户名 密码占位符 用户编号 用户组编号 用户注释(备注) 用户主目录 shell类型 root的用户编号,和组编号,都是 0 ``` ##### 3,用户组 ``` 1,查看用户组信息,直接查看文件:cat /etc/group 2,新增一个用户组:groupadd 选项 用户组 可选参数: -g GID 指定新用户组的组标识号(GID)。 -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。 3,删除一个用户组:groupdel 用户组 4,修改一个用户组属性:groupmod 选项 用户组 可选参数: -g GID 为用户组指定新的组标识号。 -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。 -n新用户组 将用户组的名字改为新名字 ``` ### 四,yum软件包管理工具 yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 ##### 1,yum常用命令 ``` 1. 列出所有可更新的软件清单命令:yum check-update 2. 更新所有软件命令:yum update 3. 仅安装指定的软件命令:yum install <package_name> 4. 仅更新指定的软件命令:yum update <package_name> 5. 列出所有可安裝的软件清单命令:yum list #你可以:yum list | grep php 6. 删除软件包命令:yum remove <package_name> 7. 查找软件包命令:yum search <keyword> 8. 清除缓存命令: yum clean packages: 清除缓存目录下的软件包 yum clean headers: 清除缓存目录下的 headers yum clean oldheaders: 清除缓存目录下旧的 headers yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers ```

评论

  1. #1

    丽姐 2021-11-29 21:07:54
    看不懂

  2. #2

    宝子 2021-11-30 16:20:55
    厉害👍🏻