小白学习记录:
- 前情提要:
- Linux命令基础格式!
- 查看 ls
- Linux 的7种文件类型及各颜色代表含义
- 进入指定目录 cd
- 查看当前工作目录 pwd
- 创建一个新的目录(文件夹) mkdir
- 创建文件 touch
- 查看文件内容 cat、more
- 操作文件、文件夹
- - 复制 cp
- - 移动 mv
- - 删除【危险操作,请谨慎使用】 rm
- 使用通配符
- 在文件中查找指定文件 find
- 过滤文件内容 grep
- 统计内容数量 wc
- 修改文件内容
- echo 【翻译:回响】
- 重定向 写入内容
- 从后查看文件内 容tail【翻译:尾】
- 文件的上传与下载 rz sz
- vi/vim模式 【重要认知,请务必看】
- 用户及权限管理
- 用户
- 给非root 用户分配root权限
- 用户 用户组
- 用户组管理
- 权限……暂时没用到,跳过
- 快捷键小技巧
- 查看进程 ps
- 查看主机状态运行命令
- 查看CPU、内存使用情况 top
- 查看磁盘情况 df
- 磁盘信息监控 iostat
- 环境变量
前情提要:
-本文的目的在于启蒙,所以只会以最简约的方式展示这些操作的命令,而不是详尽的列举完所有的操作项。在实际应用中,你只需要根据一下大类去谷歌,找到更细节的内容。
-记录本人在从零开始学习这些命令时产生的疑问和自我解答。
-我们可以通过linux管理服务器,所以开始吧!
Linux命令基础格式!
无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:
command [-options][parameter]
command:命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等语法中的!,表示可选的意思
查看 ls
ls [-alrtAFR] [name...]
参数 :
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
-
ls -l /home/itheima
ls是命令本身,-l是选项,/home/itheima是参数。意思是以列表的形式,显示/home/itheima目录内的内容。 -
ls -la /home/itheima
命令选项可以混合使用,意思是-a和-l的叠加效果。
Linux 的7种文件类型及各颜色代表含义
我们能看到以上输出的文件目录,有高亮和白色部分,基本上高亮的意思是这是一个文件夹,而白色为文件。但是这样区分目录性质是不太可靠的。于是我可以通过看红色框内容,以d开头的就是文件夹。
其中.
开头文件意味着是默认隐藏的文件。
总结:
-
蓝色:一般用于表示目录。
-
绿色:一般用于表示可执行文件。
-
红色:一般用于表示压缩文件或者归档文件。
-
灰色或白色:一般用于表示普通文件。
-
黄色:一般用于表示设备文件。
-
青蓝色:一般用于表示链接文件。
进入指定目录 cd
但Linux终端(命令行)打开的时候,会默认以用户HOME目录作为当前工作目录,我们可以通过cd命令,更改当前所在的工作目录。
cd [dirName]
dirName:要切换的目标目录。
实例
跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home 目录 :
cd ~
跳到目前目录的上上两层 :
cd ../..
绝对路径:以根目录为起点,路径描述以/开头。
相对路径:以当前目录为起点,路径描述无需以/开头。
特殊路径符:
.
表示当前目录,比如 cd ./Desktop
表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
..
表示上一级目录,比如:cd.即可切换到上一级目录,cd../..
切换到上二级的目录表示HOME目录
~
表示HOME目录,比如:cd~
即可切换到HOME目录或cd~/Desktop
,切换到HOME内的Desktop目录
查看当前工作目录 pwd
pwd:
P
rintW
orkD
irectory【打印当前工作目录】
这说明当前工作目录是在根目录/下的jcdata目录。
创建一个新的目录(文件夹) mkdir
mkdir:
M
ak
eDir
ectory【创建目录】
mkdir [-p] dirName
参数说明:
-p 一次性创建多个层级
实例
在工作目录下,建立一个名为 AAA 的子目录 :
mkdir AAA
在BBB目录下创建一个Test目录,如果不使用-p选项,当BBB目录不存在的时候,会创建失败。
所以我们可以使用-p支持一次性创建多个层级目录。
mkdir -p BBB/Test
创建文件 touch
touch filName
查看文件内容 cat、more
两者的区别在于,使用more可以将展示的内容以分页的方式展现。
使用空格翻页,使用q退出查看。
操作文件、文件夹
- 复制 cp
cp命令可以用于复制文件\文件夹
语法: cp [-r] 参数1 参数2
-r选项,可选,用于复制文件夹使用,表示递归
参数1,Linux路径,表示被复制的文件或文件夹
参数2,Linux路径,表示要复制去的地方
cp test1 test2 //将当前文件夹下的test1文件 复制到 test2文件(新建/覆盖)
当你想复制文件夹的时候需要带上 -r
- 移动 mv
mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move
语法: mv 参数1 参数2
参数1,Linux路径,被移动的文件或文件夹
参数2,Linux路径,要移动去的地方,如果目标不存在,则达到一个移动并改名的效果。
mv test1.txt / //将test1.txt移动到根目录下
mv test1.txt test2.txt //移动并重命名
移动文件夹并没有什么不同
- 删除【危险操作,请谨慎使用】 rm
rm命令可用于删除文件、文件夹
rm命令来自英文单词:remove
语法:rm [-r -f] 参数1 参数2......
参数N
-r选项用于删除文件夹
-f表示force,强制删除(使用之后不会弹出提示确认信息,没啥用)
普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示所以一般普通用户用不到-f选项
参数1、参数2、…、参数N 表示要删除的文件或文件夹路径,按照空格隔开
使用通配符
被查找文件名,支持使用通配符*来做模糊查询。符号*表示通配符,即匹配任意内容(包含空)
示例:test*,表示匹配任何以test开头的内容
*test,表示匹配任何以test结尾的内容
*test*,表示匹配任何包含test的内容基于通配符的含义,可以结合find命令做文件的模糊查询。(以下)
在文件中查找指定文件 find
语法:find 起始路径 -name "被查找的文件名"
find / -name 'test*' 从根目录下寻找文件名是任何以test开头的文件
你也可以通过文件大小去查找,不赘述。
过滤文件内容 grep
可以通过grep命令,从文件中通过关键字过滤文件行。
语法:grep[-n] 关键字 文件路径
选项-n,可选,表示在结果中显示匹配的行的行号。
参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来参数
文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
统计内容数量 wc
可以通过wc命令统计文件的行数、单词数量等语法:wc[-c-m-1-w]文件路径
选项,-C,统计bytes数量
选项,-m,统计字符数量
选项,-l,统计行数
选项,-w,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口
如果使用的时 不带选项 会以:行数 单词数 字符数 顺序输出
管道符 | 挺哇塞的一个符号 ,虽然我觉得我应该用不到。
修改文件内容
echo 【翻译:回响】
重定向 写入内容
重定向符: > 和 >>
> 将左侧命令的结果,`覆盖`写入到符号右侧指定的文件中
> >将左侧命令的结果,`追加`写入到符号右侧指定的文件中
通过重定向符,我们可以向文件中写入内容
从后查看文件内 容tail【翻译:尾】
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改
语法如下tail [参数] Linux路径参数,Linux路径,表示被跟踪的文件路径
有很多参数,可以这里查看,感觉用处不大,不赘述。
文件的上传与下载 rz sz
我使用的mobaxterm远程管理服务器,可以参考
vi/vim模式 【重要认知,请务必看】
解释起来有点复杂,看一下俩链接够用了。
1.视频
2.文档
用户及权限管理
用户
su和exit命令
来源英文单词:
S
witchU
ser
语法:su [-] [用户名]
-符号是可选的,表示是否在切换用户后加载环境变量,建议带上
参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d
给非root 用户分配root权限
sudo命令【请自行百度】
语法:sudo
其它命令需要以root用户执行visudo命令,增加配置方可让普通用户有sudo命令的执行权限
用户 用户组
用户组类似于管理系统中的角色,你可以将角色分配给用户,也就是赋予用户当前用户组下的权限。
用户组管理
以下命令需要在root用户执行
- 创建用户组 useradd
useradd [-g -d] 用户名
·选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
·选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
- 删除用户组 userdel
userdel [-r] 用户名
选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
- 查看,用户所属的组
id [用户名]
参数:用户名,被查看的用户,如果不提供则查看自身
- 修改
usermod -aG 用户组名 用户名
- 查看当前系统中有哪些用户\组
getent passwd 用户
getent group 用户组
权限……暂时没用到,跳过
- 修改文件、文件夹权限信息 chmod
- 使用chown命令修改文件、文件夹的所属用户和用户组
快捷键小技巧
- ctrl + c 强制停止
- ctrl + d 退出账户或登出程序专属页面 不能用于退出vi/vim
- 历史命令搜索,可以查看之前使用过哪些命令。【第四分钟】
history
!
ctrl + r
-
光标移动快捷键
ctrl + a 跳到命令开头
ctrl + e 跳到命令结尾
ctrl + 键盘左键 ,向左跳一个单词
ctrl + 键盘右键 ,向右跳一个单词 -
清屏
ctrl + l 或者 命令:clear
查看进程 ps
查看主机状态运行命令
查看CPU、内存使用情况 top
类似于windows的任务管理器,默认每5秒刷新一次
语法:top [选项】
查看磁盘情况 df
语法:de [-h]
磁盘信息监控 iostat
语法:iostat [-x] [num1] [num2]
环境变量
语法:evn
Linux环境变量可以用户自行设置,其中分为:
临时设置,语法:export 变量名=变量值
永久生效
- 当前用户生效,配置在当前用户的:~/bashrc文件中
- 针对所有用户生效,配置在系统的:/etc/profile文件中
- 并通过语法:source配置文件,进行立刻生效,或重新登录FinalShell生效