Linux精进之路

1. Linu用户/用户组

注释

${name}	指变量名称
  • 用户操作

查看用户文件

cat	/etc/passwd

用户新增

useradd -d /usr/saber -m ${username}

useradd 选项 用户名
-c 指定一段注释性描述
-d 目录 指定用户的主目录,如果目录不存在,则使用-m 来创建主目录
-g 指定用户目录组
-G 指定用户所属的附加组
-u 用户号
-s 指用户登录的shell

用户删除

userdel -r ${username}

userdel 选项 用户名
-r 删除用户一起的主目录

修改用户账号

usermod ${选项} ${用户名}

usermod 选项 用户名

用户密码

passwd 选项 用户名
-l 锁定
-u 解锁
-d 无密码
-f 下次登录修改密码
  • 组操作

查看组文件

cat	/etc/group

新增组

groupadd -g ${组标识号} ${组名}

groupadd 选项 用户组
可使用的选项如下:
-g	指新用户组的标识号
-o	一般与-g同时使用

删除组

groupdel ${组名}

groupdel  用户组

修改组属性

groupmod -g ${组标识号} -n ${新组名} ${组名}

groupmod 选项 用户组
可使用的选项如下:
-g 同上
-o 同上
-n 新用户组,将用户组的名字改为新名字

2. 文件与目录

文件的属性

文件属性介绍

文件属性

drwxrwxrwx. 3 root root 19 7月 19 17:43 app
d 指文件夹 -指非文件夹
r 读
w 写
x 可执行
第一组rwx 指属主权限
第二组rwx 指属组权限
第三组rwx 指其他组权限
root 指所属主
root 指所属组
后面描述为时间及文件名

文件属组/主操作

更改文件属组

chgrp [-R] 属组名 文件名

-R 递归更改文件属组,目录下所有文件属组全部变更

更改文件属组及属主

chown -R newgroup filename
chown -R my:newgroup filename

chown [-R] 属组名 文件名
chown [-R] 属主名:属组名 文件名

更改文件权限

chmod +/- x filename
chmod 777 filename

chomd 选项 文件名

软链接和硬链接

软链接

ln -s a b

ln 选项 文件a 文件b
说明:类似于快捷方式,文件a被删除,快捷方式b就会无效

硬链接

ln a b

ln 文件a 文件b
说明:类属于引用,文件b同步文件a的数据,文件a被删除,但是文件b还是会独立于存在,且数据不会被影响

3. YUM操作/RPM操作

yum操作

更改yum默认下载源

[root@localhost home]# cd /etc/yum.repos.d/

yum源修改

下载源文件
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
替换文件
mv -y CentOS7-Base-163.repo CentOS-Base.repo
重建缓存:
yum clean all
yum makecache

yum语法

搜索
yum search jdk
安装
yum install -y java-1.8.0-openjdk.x86_64
列出安装包
yum list installed | grep jdk
卸载
yum remove ${安装包名}

1.列出所有可更新的软件清单命令: yum check-update
2.更新所有软件命令: yum update3.仅安装指定的软件命令: yum install <package_name>
4.仅更新指定的软件命令: yum update <package_name>
5.列出所有可安裝的软件清单命令: yum list
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

配置环境变量

# 环境变量地址
vim /etc/profile
# 使生效
source /etc/profile

RPM操作

rpm语法

npm -ivh npm包

rom [参数] rpm包
-i 安装
-U 更新
-e 卸载
-v 显示安装信息
-h 显示安装进度

4. Shell脚本

5. 常用命令

1. cd命令

# 进入用户主目录
cd 
# 进入用户主目录
cd ~
# 返回之前所在的目录
cd -
# 返回上一层目录
cd ..
# 返回上两级目录
cd ../..
# 返回根目录
cd /

2. 文件夹/文件命令

mkdir 创建文件夹
mkdir dirname 直接跟文件夹名, 可在当前目录下创建文件夹
mkdir /opt/lamp/dirname 可跟路径
mkdir -p /opt/lam/dirname 假如 lam 不存在, 需要用-p 才可以创建该文件夹
touch 新建文件
touch dilename 可直接跟文件名在当前目录下创建新的文件

3. cat/less/more/tail 等文件查看命令

-n 或-number: 有 1 开始对所有输出的行数编号;
-b 或--number-nonblank: 和-n 相似, 只不过对于空白行不编号;
-s 或--squeeze-blank: 当遇到有连续两行以上的空白行, 就代换为一行的空白行;
-A: 显示不可打印字符, 行尾显示“$”;
-e: 等价于"-vE"选项;
-t: 等价于"-vT"选项;
-e: 文件内容显示完毕后, 自动退出;
-f: 强制显示文件;
-g: 不加亮显示搜索到的所有关键词, 仅显示当前显示的关键字, 以提高显示速度;
-l: 搜索时忽略大小写的差异;
-N: 每一行行首显示行号;
-s: 将连续多个空行压缩成一行显示;
-S: 在单行显示较长的内容, 而不换行显示;
-x<数字>: 将 TAB 字符显示为指定个数的空格字符。
-<数字>: 指定每屏显示的行数;
-d: 显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c: 不进行滚屏操作。 每次刷新这个屏幕;
-s: 将多个空行压缩成一行显示;
-u: 禁止下划线; +<数字>: 从指定数字的行开始显示。
按 Space 键: 显示文本的下一屏内容。
按 Enier 键: 只显示文本的下一行内容。
按斜线符|: 接着输入一个模式, 可以在文本中寻找下一个相匹配的模式。
按 H 键: 显示帮助屏, 该屏上有相关的帮助信息。按 B 键: 显示上一屏内容。
按 Q 键: 退出 rnore 命令。
--retry: 即是在tail命令启动时, 文件不可访问或者文件稍后变得不可访问, 都始终尝试打开文件。使用此选项时需要与选项“——follow=name”
连用;
-c 或——bytes=: 输出文件尾部的 N(N 为整数) 个字节内容;
-f 或; --follow: 显示文件最新追加的内容。 “name”表示以文件名的方式监视文件的变化。 “-f”与“-fdescriptor”等效;
-F: 与选项“-follow=name”和“--retry"连用时功能相同;
-n 或——line=: 输出文件的尾部 N(N 位数字) 行内容。
--pid=<进程号>: 与“-f”选项连用, 当指定的进程号的进程终止后, 自动退出 tail 命令;
-q 或——quiet 或——silent: 当有多个文件参数时, 不输出各个文件名;
-s<秒数>或——sleep-interal=<秒数>: 与“-f”选项连用, 指定监视文件变化时间隔的秒数;
-v 或——verbose: 当有多个文件参数时, 总是输出各个文件名;
一般 tail 命令最常用的-n 和-f, 例:
tail filename 读取 filename 最后 10 行内容
tail -f filename 实时动态读取 filename 最后 10 行内容
tail -20f filename 实时动态读取 filename 最后 20 行内容
cat 和 less 及 more 指令相似, cat 是一次性读取所有内容, 文件内容较多时速度较慢。 less 与 more 的区别在于: less 可以
前后翻页查看, more 只能向前翻页查看。
tail 则用于实时获取 log 信息, 从后向前读取内容
上述四种命令均可跟 grep 搭配使用 cat/less/tail |grep mysql

4. 查看文件大小的命令 du/df

du -sh * 显示当前目录下所有文件的大小
du -sh filename 显示该文件大小
du -sh 显示当前目录所占空间大小
-s 或 仅显示总计, 只列出最后加总的值。
-h 或 以 K, M, G 为单位, 提高信息的可读性。
df 显示磁盘占用信息
直接 df 默认一 k 为单位
df -lh 显示本地系统的占用信息, 以 K, M, G 为单位

5. 大重点–文本编辑器 vi

vi 命令是 UNIX 操作系统和类 UNIX 操作系统中最通用的全屏幕纯文本编辑器。
Linux 中的 vi 编辑器叫 vim, 它是 vi 的增强版(vi Improved) , 与 vi 编辑器完全兼容, 而且实现了很多增强功能。
vi 编辑器支持编辑模式和命令模式, 编辑模式下可以完成文本的编辑功能, 命令模式下可以完成对文件的操作命令, 要正确使用 vi 编辑器就必须
熟练掌握着两种模式的切换。
默认情况下, 打开 vi 编辑器后自动进入命令模式。 从编辑模式切换到命令模式使用“esc” 键, 从命令模式切换到编辑模式使用“A” 、 “a” 、
“O” 、 “o” 、 “I” 、 “i” 键。
vi 编辑器提供了丰富的内置命令, 有些内置命令使用键盘组合键即可完成, 有些内置命令则需要以冒号“: ” 开头输入。 常用内置命令如下:1 Ctrl+u: 向文件首翻半屏;
2 Ctrl+d: 向文件尾翻半屏;
3 Ctrl+f: 向文件尾翻一屏;
4 Ctrl+b: 向文件首翻一屏;
5 Esc: 从编辑模式切换到命令模式;
6 ZZ: 命令模式下保存当前文件所做的修改后退出 vi;
7 :行号: 光标跳转到指定行的行首;
8 :$: 光标跳转到最后一行的行首;
9 x 或 X: 删除一个字符, x 删除光标后的, 而 X 删除光标前的;
10 D: 删除从当前光标到光标所在行尾的全部字符;
11 dd: 删除光标行正行内容;
12 ndd: 删除当前行及其后 n-1 行;
13 nyy: 将当前行及其下 n 行的内容保存到寄存器?中, 其中? 为一个字母, n 为一个数字;
14 p: 粘贴文本操作, 用于将缓存区的内容粘贴到当前光标所在位置的下方;
15 P: 粘贴文本操作, 用于将缓存区的内容粘贴到当前光标所在位置的上方;
16 /字符串: 文本查找操作, 用于从当前光标所在位置开始向文件尾部查找指定字符串的内容, 查找的字符串会被加亮显示;
17 ? name: 文本查找操作, 用于从当前光标所在位置开始向文件头部查找指定字符串的内容, 查找的字符串会被加亮显示;
18 a, bs/F/T: 替换文本操作, 用于在第 a 行到第 b 行之间, 将 F 字符串换成 T 字符串。 其中, “s/”表示进行替换操作;
19 a: 在当前字符后添加文本;
20 A: 在行末添加文本;
21 i: 在当前字符前插入文本;
22 I: 在行首插入文本;
23 o: 在当前行后面插入一空行;
24 O: 在当前行前面插入一空行;
25 :wq: 在命令模式下, 执行存盘退出操作;
26 :w: 在命令模式下, 执行存盘操作;
27 :w! : 在命令模式下, 执行强制存盘操作;
28 :q: 在命令模式下, 执行退出 vi 操作;
29 :q! : 在命令模式下, 执行强制退出 vi 操作;
30 :e 文件名: 在命令模式下, 打开并编辑指定名称的文件;
31 :n: 在命令模式下, 如果同时打开多个文件, 则继续编辑下一个文件;
32 :f: 在命令模式下, 用于显示当前的文件名、 光标所在行的行号以及显示比例;
33 :set nu: 在命令模式下, 用于在最左端显示行号;
34 :set nonu: 在命令模式下, 用于在最左端不显示行号;
35 :1,3y 复制第一行到第三行
36 :1,3d 删除第一行到第三行
37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串
38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行

6. 重定向 >

输出重定向
who > bbb.txt 将 aaa 的内容写入 bbb 中, 覆盖写入
cat bbb.txt >> ccc.txt 讲 aaa 的内容追加写入 bbb 中, 不覆盖原来内容
> bbb.txt 将 bbb 清空
输入重定向
grep 05:37:43.730 < web.2019-07-22.0.log
大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​ ​ 到您的终端。
一个命令通常从一个叫标准输入的地方读取输入, 默认情况下, 这恰好是你的终端。
同样, 一个命令通常将其输出写入到标准输出, 默认情况下, 这也是你的终端。
重定向深入讲解
一般情况下, 每个 Unix/Linux 命令运行时都会打开三个文件:
 标准输入文件(stdin): stdin 的文件描述符为 0, Unix 程序默认从 stdin 读取数据。
 标准输出文件(stdout): stdout 的文件描述符为 1, Unix 程序默认向 stdout 输出数据。
 标准错误文件(stderr): stderr 的文件描述符为 2, Unix 程序会向 stderr 流中写入错误信息。
默认情况下, command > file 将 stdout 重定向到 file, command < file 将 stdin 重定向到 file。

7. 查看服务

netstat -nlpt|grep 80 查看该端口号是否被占用
free -m //查看 LINUX 内存剩余容量
ps 可以查看具体的进程信息, 一般与管道符连接其他命令使用, 如: grep
ps 常用参数-ef/-aux, 一般最常用还是-ef, 例: ps -ef|grep mysql 查询 mysql 进程
top 也可查看进程信息, 而且是动态显示
whoami 查看当前登陆用户
who 查看多少用户在使用系统
date 查看系统时间, 可跟时间格式使用
cal 查看日历, 可跟年份, 查看指定的年份
chkconfig --list #查看系统服务启动
chkconfig iptables on #开机启动该服务
chkconfig iptables off #开机不启动该服务
service iptables start #启动该服务
service iptables restart #重启启该服务
ps -ef|grep mysql|grep -v grep|awk '{print $2}'ps -ef|grep mysql 是查询 mysql 服务的进程
|后的 grep -v grep 是匹配不包含 grep 的行awk 是取查询结果的第几列, awk '{print $2}'则是取第二列的值
grep 无参数则显示匹配的行
-c 显示匹配的行数
-v 显示不匹配的行

8. 杀掉进程 kill 命令

kill 最常用的参数是-9, 用法: kill -9 进程号 即可强制杀掉该进程
统计命令 wc
常用的参数是 -l 用法: wc -l , 例:
ps -ef|grep mysql|wc -l 统计查询出的 mysql 进程的行数
查找命令 find/locate/whereis/which
find -name 后跟文件名, 可查看文件所在目录, 可跟 user, 查看属于 user 的文件
find -name filename 查找 filename 所在目录
find -name name* 查找开头为 name 的文件所在目录
find -name *name 查找结尾为 name 的文件所在目录
find -name *name* 查找包含 name 字符串的文件所在目录
find -user faith 查看用户 faith 的文件
locate 用法与 find 基本相似, 只是 locate 搜索速度较快些, locate 一般系统不会自带, 需要安装, 可用 yum 安装
whereis 只能搜索程序名
which 则是只查询 path 中的环境变量

9. 压缩和解压命令 gzip/guzip zip/unzip tar

gzip 和 gunzip 一般可用参数是-r, 例:
gzip test.txt 压缩文件
gzip -r test 压缩所有 test 下的子文件
gunzip test.gz 解压文件
zip 和 unzip 可用参数较多, 例:
zip test 不跟参数直接使用
zip -r test 递归压缩 test 下所有文件
unzip test 不跟参数直接使用
unzip -n 解压时不覆盖已存在的文件
unzip -o 解压时覆盖已存在的文件
unzip -d 将文件解压到目录中去
tar 使用的较为多些, 用法也多, 最常用的是 zxcvf 几个参数, 例:
-c 创建新文档, 就是代表压缩的意思
-x 解压文档
-f 使用归档文件
-z 使用 gzip 解压
-v 详细输出模式
最为常用的使用方法:tar -zcvf test.tar test 将 test 压缩为 test.tar 并输出详细信息
tar -zxvf test.tar 将 test.tar 解压缩, 并输出详细信息

10. 定时任务 crontab

crontab [-u user] 文件
crontab [-u user] {-r -e -l}
不加-u 的话默认当前用户
-e: 执行文字编辑器来设定时程表, 内定的文字编辑器是 vi。
-r: 删除目前的时程表。
-l: 列出目前的时程表。
crontab -e 就可以打开一个文件进行编辑
crontab 文件的格式为“M H D m d cmd”, M 为分钟 1-59, H 为小时 1-24, D 为天 1-31, m 为月 1-12, d 为周 0-6(0
为周日) 。 cmd 代表要执行的程序, *代表每分钟都执行
* * * * * sh /opt/lampp/test.sh 表示每分钟执行一次 test.sh 这个脚本
*/5 * * * * sh /opt/lampp/test.sh 表示每 5 分钟执行一次 test.sh 这个脚本
30 21 * * * /usr/local/apache/bin/apachectl restart 表示每晚的 21:30 重启
apache
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值