Linux 基础入门

文章目录

Linux基础

常用快捷键

按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home
Ctrl+e 将光标移至输入行末,相当于End
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动

shell 常用通配符

字符 含义
* 匹配 0 或多个字符
? 匹配任意一个字符
[list] 匹配 list 中的任意单一字符
[^list] 匹配 除list 以外的任意单一字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...} 匹配 string1 或 string2 (或更多)其一字符串
{c1..c2} 匹配 c1-c2 中全部字符 如{1…10}

man 手册区段命令含义

区段 说明
1 一般命令
2 系统调用
3 库函数,涵盖了C标准函数库
4 特殊文件(通常是/dev中的设备)和驱动程序
5 文件格式和约定
6 游戏和屏保
7 杂项
8 系统管理命令和守护进程
  • 要查看只需在man后面相应区段加上数字即可
  • 要搜索关键字使用/<你要搜索的关键字>, k, j向前或向后滚动一行

用户及文件权限

who 命令

参数 说明
-a 打印能打印的全部
-d 打印死掉的进程
-m am i,mom likes, 打印当前用户信息
-q 打印当前登录用户数及用户名
-u 打印当前登录用户登录信息
-r 打印运行等级

/etc/group 文件格式说明

/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:

group_name:password:GID:user_list

你看到上面的 password 字段为一个 x 并不是说密码就是它,只是表示密码不可见而已.

使用usermod为用户添加用户组

使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令。

这里我用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限:

$ su shiyanlou # 此处需要输入 shiyanlou 用户密码,shiyanlou 的密码可以通过 `sudo passwd shiyanlou` 进行设置。
$ groups lilei
$ sudo usermod -G sudo lilei
$ groups lilei

然后你再切换回 lilei 用户,现在就可以使用 sudo 获取 root 权限了。

添加&删除用户

$ sudo adduser <用户名>    # 添加用户
$ sudo deluser lilei --remove-home  # 删除用户
adduseruseradd 的区别是什么?

答:useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。

修改文件所有者

$ sudo chown shiyanlou iphone6

修改文件权限

  • 文件权限说明

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GwR9pPrF-1576563295298)(pic/shiyanlou_2_1.png)]

  • 用数字表示, 二进制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G7RHqjqT-1576563295301)(pic/shiyanlou_2_3.png)]

执行权限 二进制 十进制
rwx 111 7
rw- 110 6
r-x 101 5
r– 100 4
-wx 011 3
-w- 010 2
–x 001 1
000 0
  • 修改权限
$ sudo chmod <权限代号> <文件名>
$ sudo chmod 755 <文件名>

Linux的目录组织

FHS(Filesystem Hierarchy Standard) 标准

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iryfVbZr-1576563295302)(pic/shiyanlou_3_1.png)]

环境变量&搜索文件

为了与普通变量区分,通常我们习惯将环境变量名设为大写。

本质上的定义与普通变量无异, 只是在Linux系统中赋予了它一些其他的意思, 代表的范围也比较大, 所以变得重要. 其实不光是Linux系统, Windows系统也是如此, 需要一些变量来保证系统的运行.

基本说明

通常会涉及到的变量类型有三种:

  • 当前 Shell 进程私有用户自定义变量
  • Shell 本身内建的变量
  • 从自定义变量导出的环境变量

设计到的相关命令包括: set, env, export

命 令 说 明
set 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。

按变量的生存周期来划分,Linux 变量可分为两类:

  1. 永久的:需要修改配置文件(当前环境下是.profile仅对于当前使用的用户有效, 要对所有用户生效需要修改/etc/profile),变量永久生效;
  2. 临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。

修改变量

变量设置方式 说明
${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据
${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据
${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据
${变量名%%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最长数据
${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串
${变量名//旧的字串/新的字串} 将符合旧字串的全部字串替换为新的字串

变量删除

$ unset <变量名>

让环境变量立即生效

$ source .zshrc

搜索文件

whereis 简单快速

locate 快而全

参数 含义
-c 统计数目
-i 忽略大小写查找
-b 只搜索二进制文件
-m 只搜索man和infos等说明信息
-s 只搜索源码

find 精而细

$ find <位置> <操作> (<限制条件>) <文件名>
  • 与时间相关的参数:
参数 说明
-atime 最后访问时间
-ctime 最后修改文件内容的时间
-mtime 最后修改文件属性的时间

以mtime为例:

  • -mtime n:n 为数字,表示为在 n 天之前的“一天之内”修改过的文件
  • -mtime +n:列出在 n 天之前(不包含 n 天本身)被修改过的文件
  • -mtime -n:列出在 n 天之内(包含 n 天本身)被修改过的文件
  • -newer file:file 为一个已存在的文件,列出比 file 还要新的文件名

文件打包与压缩

总结:

  • zip:
    • 打包 :zip something.zip something (目录请加 -r 参数)
    • 解包:unzip something.zip
    • 指定路径:-d 参数
  • tar:
    • 打包:tar -cf something.tar something
    • 解包:tar -xf something.tar
    • 指定路径:-C 参数
文件后缀名 说明
*.zip zip 程序打包压缩的文件
*.rar rar 程序压缩的文件
*.7z 7zip 程序压缩的文件
*.tar tar 程序打包,未压缩的文件
*.gz gzip 程序(GNU zip)压缩的文件
*.xz xz 程序压缩的文件
*.bz2 bzip2 程序压缩的文件
*.tar.gz tar 打包,gzip 程序压缩的文件
*.tar.xz tar 打包,xz 程序压缩的文件
*tar.bz2 tar 打包,bzip2 程序压缩的文件
*.tar.7z tar 打包,7z 程序压缩的文件

zip 压缩打包程序

参数 含义
-r 递归打包包含子目录的全部内容
-q 安静模式,即不向屏幕输出信息
-o 表示输出文件, 在其后紧跟打包输出文件名
-[1~9] 设置压缩级别(9最大, 1最小)
-x 排除某个文件(必须使用绝对路径)
-e 创建加密压缩包
-l 将LF转换为CR&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值