本文记录一些日常工作中会经常用到的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,增
- 创建一个名为test的目录:mkdir test;英文本意:make directory
- 创建一个文件名为demo1.txt的 文件:touch demo1.txt
- 创建一个软链接:ln -s [原文件] [软链接名字] :英文本意:link
大部分命令是其实是/usr/bin里面的文件,所以我们可以在/usr/bin目录下面创建一个软链接,指向该命令执行的二进制文件。
例如如果我们系统有多个php版本,我们想指定执行php 命令的版本为php7.4,可以:
ln -s /usr/bin/php [php7.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
网友评论