文章目录
Linux的目录和Windows不同,linux有一个根目录,所有的其它目录在这个根目录下面,包括bin目录,boot目录。(顶层树状目录)
- 1.1 bin目录
2. 开机、关机、重启
- sync (将数据由内存同步到磁盘,相当于保存数据)
- reboot :重启
halt :关机 - shutdown -r :重启
- shutdown -h :关机
注:关机和重启之前都要执行sync命令,保存数据,防止数据丢失
3. 常用快捷键
- Ctrl+C :停止命令
- Ctrl+L :清屏
- Ctrl+q :退出
- Tab :可以提示或补全命令
- 上下键 :查找执行过的命令
- Ctrl+Alt :在linux与windows之间切换
4. 用户管理命令
-
useradd
(添加新用户)
useradd name
//添加了一个名为name的用户 -
id (判断用户是否存在)
-
id name
//判断name用户是否存在 -
passwd (给用户添加密码)
-
passwd name //给名为name的用户添加密码
-
su (切换用户)
-
su name //切换到name用户,由root切换到其它用户不用输入密码,由其它用户切换到root用户需要密码
-
who (查看那个用户登录到当前电脑)
- whoami (查看自身用户名称)
- who am i (显示登录用户名称)
-
userdel (删除用户)
-
userdel name //删除name用户,但是保存用户主目录
-
userdel -r // name用户的目录和主目录都删除
-
atguigu (使普通用户具有root权限)
5. 文件目录
-
pwd (看当前目录的绝对路径)
-
ls (列出目录的内容)
-
ls -a // 查看全部文件,包括隐藏文件
-
ls -l // 用于查看文件属性、大小等详细信息
-
ls -d // 用于查看目录的属性信息
-
mkdir (创建一个新的目录)
-
mkdir name //创建了一个名为name的目录名称
-
mkdir -p //创建一个多重目录
-
mkdir -p name1/name2 /name2是在name1中的文件夹
-
rm (删除文件或目录)
-
rmdir //删除空目录
-
rm -rf //递归删除,强制删除
-
rmdir (删除一个空目录)
-
touch (创建一个空文件)
-
touch name // 创建了一个名为name的空文件
-
cd (切换目录)
- cd name1/name/name2
- cd //只有一个cd后面为空,为回到自己的home目录
- cd - //回到上一个目录
cd ..
//回到当前目录的上一级目录
-
cp -p //跳转到实际物理路径,而非快捷方式路径
-
cp (复制文件或目录)
cp [选项] 源文件 目标文件- -p:保留源文件属性
- -d:若对象为“链接文件”,则保留连接文件属性
- -r:递归持续复制,可持续复制多层目录中的文件
-
mv (移动文件目录或重命名)
- mv 文件 文件夹/
- mv 原名 改后名
-
cat (查看文件内容,从第一行开始显示)
- -a :可列出一些特殊符号,而不是空白而已
- -n:可列出行号,连同空白行也有行号
- tac (查看文件内容,从最后一行开始,相当于cat显示的内容倒过来)
-
more (查看文件内容,一页一页的显示)
- 空格显示下一页
- Enter向下翻一行
- = 显示页码
- Ctrl+B 向上翻一页。
- Ctrl+F 向下翻一页。
- :f 显示文件名称和行号
- q (离开more命令)
-
less (查看文件内容)
- 作用于more相似,但是less允许:pagedown向下翻一页,pageu向上翻一页
- 其它more功能less都有
-
head (查看文件内容)
- 只显示头几行
-
tall (查看文件内容)
- 只显示头几行
-
echo (输出内容到控制台)
- echo 要显示的内容>>文件名 (将要显示的文件内容显示到文件中)
- echo 变量 (显示变量的值)
echo linuxprobe.com
该命令就会在终端上显示: echo linuxprobe.com
- 使用 $ 变量的方式 提取变shell的值
echo $shell
/bin/bash
-
ln(软连接)
用于添加快捷方式 -
dd (按照指定大小和个数的数据块来复制文件或转换文件)
-
file(查看文件的类型)
Linux系统中,由于文件目录设备等所有一切都统称为文件,而我们又不能单凭后缀就知道具体文件的类型,所以需要file命令来查看类型。 -
三剑客(cut sort wc)
-
cut(制定规则剪切文本)
sort -d ':' -f1,2,3 passwd
- sort(排序)
sort lucky // 将lucky文件中的内容按字母排序
- wc (统计)
统计文件中的行数,单词数,字符数- -l:行数
- -w:单词数(以空格来区分单词)
- -c:字符数
6. 时间日期类
-
date (直接输入就可以查看当前时间)
- date “+%Y-%m-%d %H:%M:%S” //输出时间形式为如年月日时秒分
- date-d “1 days age” //显示前一天
- date-d “yesterday” //显示昨天
- date-d “nest monday” //显示下周一
-
date -s (设置系统时间)
date -s “2017-06-30 11:45;45” //便可以设置系统时间 -
cal (查看日历)
7. 用户组管理命令
-
groupadd (新增组)
- groupadd-g name
-
groupdel (删除组)
- groupdel name
-
groupmod (修改组)
-
groupmod-n groupname name //把name用户放到groupname里面
-
cat/etc/group (查看创建了那些组,三个为一条命令)
8.文件权限
-rw-r-x-wx.1 root root 06月 30 10:48 danyu.txt
drwxr-xr-x.2 root root 4096 6yue 30 10:31 gaibang
-
第1位
- - 开头表示文件
- d开头表示文件夹
- c开头表示特殊文件
-
第2位
第二位开始,三位为一组,r:可读、w:可写、x:可执行,如果为 - 表示 不可以- 第一个三位:自己的权限,用户主
- 第二个三位:用户组的权限,同组的其它
- 第一个三位:其它的权限
-
第11位:链接数
-
第12位:文件的拥有者,也就是用户
-
第13位:用户的所在组,用户组
-
第14位:文件大小
-
第15位:文件的创建时间
-
第16位:文件名称
-
权限的修改
-
‘chmod’(改变权限)
- 用户:u (user)
- 同组:g (group)
- 其它:o (other)
- 所有人:a
chmod u+x danyu.txt //使 用户主 对danyu.txt文件有执行权限 chmod g-r danyu.txt //去掉 同组用户 对danyu.txt文件的度权限 chmod u+r danyu.txt //使 其它用户 对danyu.txt文件有读权限 chmod a+r danyu.txt //使 所有用户 对danyu.txt文件有读权限
-
‘chown’(改变所有者)
-
‘chgrp’(改变所属组)
9.磁盘分区
-
fdisk -l (查看磁盘分区的详情)
在root用户下才能使用 -
df -h (查看磁盘)
查看磁盘的详细信息,如内存大小、用户等 -
free -h (查看内存的使用情况)
-
挂载与卸载
-
mount(挂载)
-
umount(卸载)
-
10.搜索查找
-
find (查找文件或者目录)
find 路径 名称 类型
find /home/atguigu/
-
字节的大小
-
n表示大于n个字节,-n表示小于n个字节
-
grep (在文件中搜索字符串匹配的行并输出)
grep+参数+查找内容+源文件参数 含义 -c 输出匹配的行数 -n 显示匹配的行,行号 -
which( 文件搜索命令)
-
进程线程类
进程是正在执行命令的一个程序或命令,每个进程都是一个运行的实体,都有自己的地址空间并占用一定的系统资源。
- ps (查看系统中所有进程)
- -a 显示所有进程
- -u 用户以及其他详细信息
- -x 显示没有控制终端的进程。
ps -aux(就-a,-u,-x)
Linux系统中有5种常见的进程状态:运行,中断,不可中断,僵死与停止。
-
R(运行):进程正在运行或在运行队列中等待
-
S(中断):进程处于休眠中,当某个条件形成后或者收到数据时,则脱离该状态。
-
D(不可中断):进程不响应系统异步信息,即便是kill命令也不能将其中。
-
Z(僵死):进程已经停止,但进程描述依然存在。
-
T(停止):进程收到停止信号后停止运行。
-
top (能够动态地查看系统运维状态,完全将他看作Linux中强化版的windows任务管理器。)
用Ctrl+C来停止命令
- 第1行:系统时间运行时间登录终端数,系统负载。
- 第2号:进程总数,运行中的进程,数休眠中的进程,数停止的进程数,将死的进程数。
- 第3行:用户占用资源百分比,系统内核占用资源百分比改变过优先级的进程资源百分比空闲的资源百分比。
-
pidof(用于查询某个指定服务进程的PID值)
每个进程号码值PID是唯一的,因此可以通过PID来区分不同的进程。 -
pstree (查看进程树)
-
kill(终止进程)
可以使用kill加上一个进程的PID来终止该进程。
kill 2156 -
killall(命令用于终止某个指定名称的服务所对应的全部进程。)
-
netstat(显示网络统计信息)
-
压缩与解压缩
-
gzip/gunzip (压缩/解压缩)
gzip+文件(压缩文件只能将文件压缩为.gz文件)
gunzip+文件.gz (解压缩文件命令)
10.常用命令
- wget(下载)
wget [参数] 下载地址
wget http:/www.linuxprobe.com/docs/linuxprobe.pdf
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频 |
-r | 递归下载 |
wget -r -p http://www.linuxhrobe.com
// 表示递归下载网站内的所有页面数据及文件
11. 系统状态检测命令
-
ifconfig(用于获取网卡配置和网络状态等信息)
主要是查看网卡名称,inet参数后面的IP地址,ether参数后面的MAC地址,以及RX,TX的接收数据包,已发送数据包的个数及累计流量。 -
unname(用于查看系统内核与系统版本等信息)
一般会搭配上-a参数来完整的查看当前系统的内核名称。包括主机名内核,发行版本,节点名系统,时间硬件名称,硬件平台,处理器类型以及操作系统等。
管道符、重定义、环境变量
- 管道符(|)
- 两个作用:
- 把第1个命令的输出结果作为第2个命令的输入
ls -l | more
// ll是ls -l命令的缩小,用于查看当前 目录 下所有可见文件的详细属性。
// more命令是将输入分页显示。
// 该命令的意思是,将ll命令输出的结果,传递给more命令,把输出结果分页显示。
- 连接多个命令在一行中进行操作。
- 重定向
命令的输出会被放到控制台里面,利用重定向可将结果输出到文件中。
- 将命令的成功结果覆盖指定文件
echo 2222 > oot.txt
// 将2222输入到oot.txt文件中
// 如果没有oot.txt文件的话,会先创建oot.txt这个文件,再把内容输入到文件中。
// 当再输入
echo hahaha > oot.txt
// 刚刚的2222会被覆盖,输出hahaha
>具有覆盖作用
- 将命令的成功结果堆加到指定文件后面
echo 2222 >> oot.txt
// 当再输入
echo hahaha >> oot.txt
// 文件中就会有2222hahaha
>>具有堆加作用
- 将命令的错误结果堆加到指定文件后面
echo ha.txt &>> error.log
// 将echo ha.txt输出的错误结果堆加到error.log文件中。
12.vi编辑器
在Unix系统里面,万事万物皆文件,是文件就可以编辑,编辑就需要编辑器。 vi就是一个性能非常强大的编辑器。
所有Unix linux都会内置一个vi文本编辑器,其他文件编辑器也可以有,但是最多的是vi编辑器,vi具有一定的程序编辑能力,可以主动以字体颜色辨别语法的真确性。
+# 打开文件
-
vi profile // profile 是一个文件名
-
vi +8 profile // 光标直接指到 profile文件的 第8行。
-
vi + r // 光标直接指到 profile文件的 最后一行。
-
vi + /if profile // 光标直接指到文件中的第1个if的地方,按一下N就会知道下一个if的地方。
-
vi编辑器的三种模式
-
当你vi profile进入文件的时候默认就是编辑模式
-
由编辑模式通过按键进入输入模式,由输入模式按
Esc
回到编辑模式。 -
由编辑模式通过按键进入命令行模式,由命令行模式按
Esc
回到编辑模式。 -
命令行模式与输入模式不能互相切换。
-
编辑模式
-
每一个按键都有特殊的指令含义。
-
输入模式
-
按一下什么就会输入什么文本。
-
命令行模式
-
可以在状态行输入一些命令。