1.基本提示信息
[用户名@ 主机名 当前工作目录名] 标识(#root模式,$用户模式)
Alt F1-F6可以切换6个终端
命名格式
ps:注意图中的简化选项与完整选项说明,完整选项要两个横杆–
2.pwd cd
pwd 显示当前绝对路径
cd . 当前位置
cd … 退回上一层(父目录),而不是返回上一此的所处位置
cd - 返回上一此的所处位置
3.clear reset 清屏
clear 清屏
reset 清屏并将之前输入命令的缓存清理
4 ls
ps:文件名以小数点开始的都是隐藏文件(ls -a)
隐藏文件设计的初衷是为了告诉用户,这些都是系统文件,不要乱动,并不是打算把文件隐藏起来不给人看到
要将普通文件设置为隐藏文件,只需要将文件名更改为以.起头就ok
ls还可以配合目录名使用,不一定是选项
ls / -a ##查看根目录下的所有文件
ps:当前目录下最少有两个子目录 . 和 …
ls -l ##显示文件的详细信息
ls -i #显示当前目录下文件的inode(一个文件只有一个inode)
显示的每个数值的含义:
总计显示的是该目录下文件所占用的空间
第1个:文件类型(无法修改)
第2个:文件的权限
第3个:链接数。 若是文件类型是目录文件,则其表示一级子目录的个数(被动修改)
第4个:文件所有者(只能有一个,可以更改)
第5个:文件所有组(已经修改)
第6个:文件大小(字节为单位,将选项改为 -lh显示为K为单位),若为设备文件,该值为对应的外设文件号
第7个:文件最后的修改时间(如果创建之后没有修改过则为创建时间,Linux没有额外设置文件创建时间)
第8个:文件名(可修改)
5. LINUX文件类型与文件权限
文件:
ps:字符设备文件(鼠标、键盘) 快设备文件(U盘、磁盘)
文件类型:
文件的权限:
ps:-表示无权限
LINUX 提供不同用户提供不同的访问权限已达到相互不相干的功能。
ps:对于目录而言,其若没有执行权限,那么写和读权限是无效的
6 man 帮助命令
man 查看linux相关的命令和配置文件的帮助 进入后与more命令使用类似
可以用/来帮助快速查找 man 加命令 如man ls
. man加配置文件 如man services(文件名就好了不能用直接路径) 注意:配置文件里以#开始的行都是表示注释
若一个命令的命令名与配置文件名相同,则利用 man 1 命令 man 5 配置文件区分
whatis 命令 读取man 中name的信息(简短信息)
apropos 配置文件 查看配置文件的简短信息
查看命令选项 如 touch --help 列出常见的选项
date 查看当前系统时间
修改格式可借助man查看
info与man类似
help 查看shell(命令解释器,将输入的命令传递给内核,内核处理后返回一个结果,然后显示)内置命令(找不到路径的命令,不能利用man来查看帮助)的帮助
help umask
man 2 函数名 查看相关函数使用方法
chmod(1) 表示其是一个命令
chmod (2) 表示系统调用
(3)一般 表示库函数
(8)表示超级用户所使用的权限
7 touch mkdir 创建文件 目录 (当下目录文件权限需要wx权限)
ps:文件名存在空格时需要加“ ” 或在空格处加\
8 rm rmdir 删除
Linux没有回收站的设定,删除后就真的删除了.
9 cp 拷贝 mv移动
ps:cp只是拷贝,原文件在没有覆盖的情况下是依然存在的。mv原文件被移动到了新的路径(不会改变其最后修改时间)。
10.权限管理(修改属性)
修改所有者和所属组
修改权限 *
1.字符设定法
ps:在Linux中用的最多的不是这种方式表示权限,而是用数字表示权限
2.数字表示
chmod 761 filename
umask 查看或设置文件创建的权限掩码
ps:缺省创建的普通文件是没有执行X权限的
11 find locate 文件搜索 grep 查看文件里匹配的内容 (针对文件)*
-a 两个条件同时满足
-o 两个条件满足任意一个即可
根据文件名来查找
-name 根据文件名来(精准)搜索 区分大小写
-iname 不区分大小写
-name 文件名 模糊搜索
-name init* 以init开头的文件名
-name init??? 后面有三个字符
find ~ -name "*.c" #使用通配符时需要加" "
grep "文件内容" 文件名
wc -l 文件名 打印显示文件的行数
wc -c 文件名 打印显示文件的单词数
*根据文件修改时间来查找 : *
-ctime -/+天数 -多少天数之内 +以前多少天数
-cmin -/+时间 查找多少分钟内被修改过属性的文件和目录 -多少时间之内 +以前多少时间
-amin 访问时间
-cmin 文件属性(ls看到的信息)
-mmin 文件内容
根据所属来查找
-user 根据所有者来查找
-group 根据所属组来查找
根据文件大小来查找
-size 根据文件大小来搜索 +n 大于 -n小于 n等于 n—数据块 一个数据块=512字节=0.5k
100M=102400K 1K=两块 204800=100MB
-a 两个条件同时满足 $find /etc -size +163840 -a -size -204800
-o 两个条件满足任意一个即可
locate 查询Mlocate数据库中查找
ps:
- 文件搜索非常占用资源,所以尽量不要使用这个命令。不要在服务器高峰期查找,搜索范围越小越好,搜索条件越精准越好)
12 管道命令 * | grep 将命令后的内容写入到管道中,在使用grep查找管道文件的内容。
命令1|命令2
命令1的正确输出作为命令2的操作对象
grep 过滤命令
一般搜索后都是由管道命令加过滤(grep 条件 )进行
ls | grep c #显示当前目录下带c的文件
find -size -100K|grep c #查找小于100K大小且带文件名带c的文件
grep -c 显示满足匹配的行数
grep -i 显示满足匹配,不区分大小写
管道命令是必须有两个对象。
13 vi vim 编辑普通文件(其查看文件由颜色区分)
alias 查看命令别名
命令的别名 alias 别名=’原命令’
在当前环境下
vim 进入的是命令模式
在命令模式下:
:n 定位到第n行
r 进入替换模式,可以替换一个
R 进入替换模式,可以替换n个,esc退出
插入:
对文本的批处理:
:n1,n2d删除指定范围的行
在末行模式下
:set nu 设置行号(末行模式)
:n 到第n行
:n1,n2d删除指定范围的行
:set nohlsearch 取消高亮显示
搜索,替换(末行模式下)
/ 进入搜索模式
:1,3s /bin/aaa 替换一个
:1,3s /bin/aaa /g全文替换
:Ve! 可以打开当前include的头文件
:He!可以打开当前目录里的文件
vim的配置
14. cat tac more less head 显示文件内容命令
cat 显示文件内容 tac 倒置显示但不支持-n
-n 显示行号
cat a.c b.c >c.c 完成文件的合并,将a.c和b.c的内容合并到.c.c中 c.c可以是一个不存在的文件
cat > filename 将用户接下来在屏幕输入的内容写入到filename文件中
cat > helloc.c 直接在命令行写入一个helloc.c的内容(最后需要注意回车) 这会清空之前的内容
More 分页显示文件内容 [文件名]
空格或f 翻页
B 回翻
(enter) 换行
q或Q 退出
Less 分页显示文件内容 可向上翻页
pageup 回翻
↑ 上一行
搜索 :/关键词 (N 往下找)
Head [文件名] 显示文件前几行,默认前十行
-n 行数 前几行
Tail 显示文件后面几行
-f 动态显示文件末尾内容
-n
15.压缩解压命令 *
压缩格式: .gz .zip .bzip2
ps:gzip [文件名] 压缩文件(只能压缩文件) -d解压缩
GUN版本后的tar命令
ps:与进行tar后再进行gzip 格式不同 ,但tar.gz可以利用GUN版本的tar来解压缩
16 链接文件
ps:
- 软连接是一个链接文件,大小只有几个字节(原文件的字符串数),inode与原文件不同(它的inode里保存了原文件的路径),所以它是一个新的文件,而硬链接是一个普通文件,大小与原文件一样,且inode相同(相当于给原文件起了一个别名,文件名直接指向了inode,然后将链接数+1),无论是软连接还是硬链接对其的修改会修改原文件
- 当将原文件删除时,其硬链接只是链接数-1,而软链接失效
- 只要原文件有效,软链接,硬链接访问的都是block内容
- 不能给目录文件创建硬链接(目录路径混乱)
- 链接文件的作用:当原文件在文件系统所处位置较深,但又要经常访问该文件时,即可创建一个连接文件
PS:每个文件都有一个自己的inode节点,而操作打开的文件都有一个fd,文件标识符,文件标识符是由OS来管理的在PCB上。fd指向的file结构里有i节点
17 进程管理命令
对于用户,打开的是运用程序,而对于OS来说,打开的是进程,OS是通过管理进程,让进程运行来完成用户的任务的,体现在管理进程的数据(属性)来管理进程。
1.ps pstree top jobs 进程显示
显示当前进程运行的状态
ps -e #显示系统上所有的进程
ps -f #显示终端上进程的更多信息,只显示当前终端的信息
ps -L #显示LWP ,显示系统进程时同时显示该进程拥有的线程ID
pstree #以树状图的形式显示进程的创建关系(父子关系)
top #类似window任务管理器,动态显示进程执行情况+系统资源(进程,CPU,内存,交换分区等的占比)的统计信息,f进入显示选项,对其对应的字符进行修改后回车,q可以退出。
ps -ef | grep "查找的关键字"
tip:-bash是ps的父进程,没有终端的进程(线程)的为守护进程(线程)。
https://blog.csdn.net/houkepei/article/details/82387066
https://blog.csdn.net/houkepei/article/details/82387066 top相关信息
2.启动和结束一个进程 kill pkill
/bin/ps
ps
为什么我们可以输入命令,而不用输入/路径/文件名?
默认搜索路径
3.挂起进程(将进程的执行暂停,CPU不在执行其指令)
kill -stop PID #挂起
jobs #显示后台执行的或者挂起的任务:任务号 任务状态 任务名称
进程前台转后台 ctrl+z 也是挂起状态
4.唤醒进程
sleep 100 &
[1] 表示任务号
18 用户管理命令(LINUX是多用户系统)
useradd #添加新用户,同时创建一个同名的组
passwd #设置用户密码
who #查看登录用户信息
#格式 登录用户名 登录终端(tty 本地终端 ,pts远程终端) 登录时间
w #查看登录用户的详细信息
uptime #查询linux运行的时间
/etc/passwd 文件和**/etc/group 文件** 来查询所属组(主组和附加组)。
ps:
- LINUX对于用户的管理方式是根据分组来设置的—权限,系统上的每一个文件对于不同的用户提供不同的权限 :文件的所属主UID 所属组GID 其他人
- 当用户访问文件时需要查看其主组和附加组是否是文件的主组,所以需要查看用户的两个文件来查对应的主组和附加组
/etc/shadow(只有root才能访问该文件,其他所属者,所属组,其他人都不能访问)且打开后,该文件是只读的(readonly)
which whereis 搜索命令
which 命令
搜索命令所在目录及别名信息
whereis 命令
搜索命令所在目录及帮助文档路径
关机重启命令
shutdown [选项] 时间
#-c 取消前一个关机命令
#-h 关机
#-r 重启
#shutdowm -h now
init 6 #重启 reboot
init 0 #关机 halt
系统运行级别
init 6 #重启
init 0 关机