基本命令

  • ifconfig 查看IP地址

image.png

代表超级用户(root)
$ 代表普通用户
image.png

  • clear 清屏

  • history 查看历史命令

image.png

  • ping 网址 查看网络是否连接

image.png

  • Ctrl + c 强制终止当前的命令

pwd 查看当前路径

image.png

路径相关

在windows中电脑分C D盘。
在linux中,电脑只有一个盘(/)
Linux中的目录就是windows中的文件夹

ls 查看当前目录下的文件

  • ls -a 查看所有文件(包括隐藏文件,隐藏文件以 . 开头)
  • ls -l 查看文件的详细信息 (等同于ll)

/目录下的文件

  1. /bin/ 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行
  2. /boot/ 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
  3. /dev/ 设备文件保存位置
  4. /etc/ 配置文件保存位置。
  5. /home/ 普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/ 下建立一个和用户名相同的目录。如用户 liming 的主目录就是 /home/liming
  6. /lib/ 系统调用的函数库保存位置
  7. /media/ 挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
  8. /mnt/ 挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区
  9. /misc/ 挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的
  10. /opt/ 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件
  11. /root/ root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
  12. /sbin/ 保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
  13. /srv/ 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
  14. /tmp/ 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空

文件的颜色

  • 白色的普通文件
  • 蓝色目录文件
  • 红色的压缩文件
  • 绿色的可执行文件

/var/log/lib

cd 切换路径

  • cd 路径 切换路径
  • cd . . 返回上一级目录
  • cd - 返回上一次所在的路径
  • cd 返回当前用户的家目录

绝对路径

从根目录开始出发的路径,例如 cd /var/log

相对路径

从当前路径出发,跳转到要去的目录,例如 cd . ./db 进入上一级目录的db目录下

练习

1.使用绝对路径切换到var目录下面cache目录下面的man目录下的ca目录
2.查看ca目录下的文件有哪些
3.查看当前路径
4.使用相对路径切换到上一级目录的上一级目录下面的yum目录里面

mkdir 创建目录

  • mkdir 目录 创建目录
  • mkdir 目录1 目录2 目录3 创建多个目录
  • mkdir -p 目录1/目录2/目录3 递归创建目录

    touch 创建文件

  • touch 文件 创建文件

  • touch 文件1 文件2 文件3 创建多个文件

mv 移动(剪切)文件

  • mv 路径/文件名 路径/新文件名
  • mv 文件1 文件2 文件3 新路径
  • 可以进行文件重命名

cp 复制文件

  • cp 路径/文件名 路径/新文件名
  • cp -r 路径/目录名 路径/新目录名

rm 删除文件

  • rm -rf 删除所有文件( 代表所有文件)
  • rm -r 目录名 删除目录
  • rm -f 文件名 不会对你进行提示

练习

1.进入root目录里下
2.创建a1 a2 a3 目录
3.创建 fanmao1 fanmao2 fanmao3 文件
4. 将a1 重命名为 fanmao
5. 将fanmao1 fanmao2 fanmao3 文件移动到 fanmao目录
6. 删除 a2
7. 将fanmao 目录下所有的文件 复制到 a3 目录
8.删除/tmp目录下面的所有文件(不要删除tmp目录)
9.在/tmp目录下创建目录fanmao1 fanmao2
10.在fanmao1目录下创建文件a1.txt a2.txt a3.txt
11:将fanmao1目录下所有的文件复制到fanmao2目录下
12:查看fanmao2目录下面的所有文件
13:将/tmp/fanmao2 复制一份为 /tmp/fanmao3

cat 查看文件

  • cat 文件 查看文件
  • cat -n 文件 查看文件并显示行号

head 查看文件头部

  • head 文件 查看文件(默认查看前10行)
  • head -n 文件 查看文件的前n行
  • head -100 文件 查看文件的前100行

tail 查看文件尾部

  • tail 文件 查看文件(默认查看后10行)
  • tail -n 文件 查看文件的后n行
  • tail -f 文件 实时查看文件

| 管道符命令

  • 使用 | 命令可以将两个命令连接在一起(上一个命令输出的内容作为下一个命令的输入)

练习

1.查看/etc/group文件的前20行
2.查看/etc/group文件的后15行
3.查看/etc/group文件的前5行并显示行号
4.查看/etc/group文件的后8行并显示行号
6.查看/etc/group文件的5-15行
7.查看/etc/group文件的2-28行,并显示行号

wc 统计文件

  • wc 文件
    1. wc a1 #查看a1文件的行号,单词数,字节数
    image.png

more 分页查看文件

  • more 文件名
  • 回车键 翻一行
  • 空格键 翻一页
  • 退出的时候,可以按q,或者按Ctrl + c

less 分页查看文件

  • less 文件
  • ↑键向上翻页
  • ↓键向下翻页
  • 在底部有一个:,输入 /“搜索的内容” 即会选中搜索的内容
  • 在底部:号后面输入q即可退出less模式

    练习

    1.用less查看/var/log/messages文件
    2.在里面搜索systemd

vi 编辑文件

  • vi 文件名
    1. vi 文件1 #编辑文件1

    如果文件不存在就会创建文件,如果存在就直接编辑文件

vi的模式

  • 命令模式
  • 编辑模式
  • 末行模式

1.开始编辑a2文件
image.png
2.进入命令行模式
image.png
3.输入 a 或 i 进入编辑模式
image.png
4.按esc键,退出编辑模式,返回命令模式
image.png
5.在命令模式输入 : 号,进入末行模式
image.png
6.进入末行模式之后,光标移动到最下面一行,wq保存退出,q!不保存退出。

练习

1.编辑一个fm.txt的文件
2.在里面输入今天学习的命令
3.保存退出
4.编辑fm.txt的文件
5.把里面的内容都删除
6.不保存退出
7.查看fm.txt文件

晚上作业

进入到/tmp目录下
删除/tmp目录下的所有文件
复制/var/log/messages文件到/tmp目录下
查看/tmp目录下的文件
统计messages有多少行内容,多少个单词,多少字节
在/tmp目录下创建一个文件 fm.log
在fm.log里面输入两天学习的命令,保存并退出
查看fm.log的前5行
查看fm.log的后5行
查看fm.log的6-10行
删除root目录里面的所有文件
在root目录里面创建文件 a1 a2 a3 创建目录 b1 b2 b3
复制a1文件为fm1
复制b1目录到b2目录里面
查看/var/log/messages的前1000行
查看/var/log/messages的后2000行
查看/var/log/messages的500-1000行,并显示行号

vi 常用命令

显示行号 (末行模式)

:set nu 显示行号
:set nonu 取消行号

练习
1.删除root目录下的所有文件
2.把/var/log/messages 复制到root目录里面
3.vi编辑messages,并显示行号
4.取消显示行号

移动光标(命令模式)

h或者左箭头(⬅) 光标向左移动一个光标
j或者下箭头(⬇) 光标向下移动一个光标
k或者向上箭头(⬆) 光标向上移动一个光标
l或者右箭头(➡) 光标向右移动一个光标
n n表示数字,比如20,按下数字之后按space空格键,表示向右移动20个字符
0或者功能键【Home】 移动到这一行的最前面字符处
$或者功能键【End】 移动到这一行的最后面字符处
G 移动到这个文件的最后一行
nG n为数字,移动到这个文件的第n行,例如20G移动到这个文件的第20行
gg 移动到第1行
n <回车键> n为数字,向后移动n行。比如现在光标在 第20行处,输入20 并按下回车。 定位第40行(往后移动了20行)

查找和替换(末行模式)

/word 向光标之下查找word的单词
?word 向光标之上查找word的单词
:n1,n2s/word1/word2/c n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2,替换之前会提示用户是否确认
:n1,n2s/word1/word2/g
如果需要确认,加c
n1,n2为具体的数字,表示在第n1行到n2行查找word1,并将查找到的word1替换为word2
:1,$s/word1/word2/g 从第1行到最后一行,找word1,替换为word2

文件保存(末行模式)

:q 退出
:q! 退出不保存
:wq 保存并退出
:w 文件1 文件另存为 文件1

练习
1.把messages文件中的200-1000行中的centos替换为1234567890,不进行确认
2.把messages文件中的500-550行中的Nov替换为fanmao,每次替换需要确认
3.把第一行到最后一行中的Session替换为aaa,不需要确认
4.另存为,名字叫a1
5.保存退出

文件的压缩与解压缩

zip格式

  • zip -r 压缩包名 文件1 文件2 文件3 压缩
  • unzip 压缩包名 解压缩
  • unzip -d 路径 压缩包名 解压缩到指定路径

练习
1.创建三个文件a1,a2,a3
2.把三个文件压缩为一个fanmao压缩包
3.创建一个b目录
4.把fanmao压缩包解压到b目录里面

tar格式(打包,归档)

  • tar -cvf 压缩包名 文件1 文件2 文件3 压缩
  • tar -xvf 压缩包名 解压缩
  • tar -xvf 压缩包名 -C 路径 解压到指定路径

练习
1.创建三个文件a1,a2,a3
2.把三个文件压缩为一个fanmao压缩包
3.创建一个b目录
4.把fanmao压缩包解压到b目录里面

tar.gz格式

  • tar -zcvf 压缩包名 文件1 文件2 文件3 压缩
  • tar -zxvf 压缩包名 解压缩
  • tar -zxvf 压缩包名 -C 路径 解压到指定路径

参数

  • z 代表的是tar.gz格式
  • c 压缩
  • x 解压缩
  • v 显示运行的过程
  • f 指定文件(一定不能省略)

练习
1.创建三个文件a1,a2,a3
2.把三个文件压缩为一个fanmao压缩包
3.创建一个b目录
4.把fanmao压缩包解压到b目录里面

管道命令

重定向 (覆盖)

  • 命令1 > 命令2

重定向 (追加)

  • 命令1 >> 命令2

练习
1.把/var/log/messages 的1000到1500行输出到a.txt中

上传下载

  • rz 上传
  • sz 文件名 下载

空文件无法传送

练习
1.从桌面上上传一个文件
2.把a.txt下载到桌面

scp 服务器之间传输文件

  • scp 路径/文件名 路径/文件名
  • scp 用户名@ip:路径/文件名 本地下载路径/文件名 下载文件
  • scp 本地路径/文件名 用户名@ip : 路径/文件名 上传文件
  1. ip101.34.170.231
  2. 用户名:root
  3. 密码:Aa3395073

find 查找文件

  • find 路径 -name 文件1 查找叫文件1的文件

  • * 通配符,可以匹配任意的内容

练习
在根目录下查找所有以 .h 结尾的文件

locate 查找文件(定位)

  • locate 文件名

这个是从根目录开始寻找,会找到所有文件名或者路径包含 搜索内容的文件

grep 过滤文本

  • grep 文本1

grep一般跟管道符 | 搭配使用

练习
查看/etc/group 文件中里面包含22的行

diff 对比文本内容

  • diff 文件1 文件2
  • diff -c 文件1 文件2

top 查看系统运行情况

类似于windows中的任务管理器,也可以查看cpu

ps -ef 查看进程

image.png
#pid是进程号,进程号随机分配的,代表了linux的各个进程

kill 关闭进程

  • kill 进程号
  • image.png

netstat -anpt 查看端口号

image.png
进程:就相当于一个运行的任务,计算机会分配给这个任务一个进程号,这个进程号就代表了这个正在运行的任务,如果关闭该进程号,则该任务停止

端口号:相当于进出计算机的通道,一个端口只允许一个进程同时进出。

du 查看文件夹和文件的磁盘占用情况

使用块数表示

  • du -sh 以人类易读的方式展示
  • image.png

    df 查看文件系统的磁盘使用情况

    image.png


    作业

    将 /etc/man_db.conf /var/log/messages 这两个文件压缩为 fm.tar.gz
    解压 fm.tar.gz 文件到 /root 目录下。
    请问 /root 目录下有什么?
    清空 /tmp 目录,并在 /tmp 目录下创建 fanmao 目录
    进入/tmp/fanmao目录
    将/etc/man_db.conf 文件复制到当前/tmp/fanmao目录下
    使用vi命令打开 当前目录下的man_db.conf文件
    在vi中设置一下显示行号
    移动到第一行,并且向下查找一下【gzip】这个字符串,请问它在第几行?
    接下来,我要将29行到41行之间的【小写man】改为【大写的MAN】,并且一个一个确定是否需要修改,如何执行命令?
    将这个文件另存为man.test.config文件
    查看端口号,把查看到的内容储存在a.txt里面
    查看进程号,把查看到的内容储存到b.txt里面
    查看内存使用情况,把查看到的内容储存到c.txt里面
    查看磁盘的使用情况,把查看到内容追加到a.txt里面
    只查看bash 的进程号
    只查看22号端口的信息
    清空 /tmp 目录
    将 /var/log/messages 文件中的第503-548行内容提取出来保存到 /tmp/msg.log 文件
    将/etc/man_db.conf 文件中所有内容追加到 /tmp/msg.log 文件
    统计 /tmp/msg.log 文件中共有多少行 多少个单词
    使用 vi 打开 msg.log 文件
    将文件中的 所有的man 修改为 woman
    文件另存为 msg.back.log
    将 /tmp目录下的 msg.log 文件,msg.back.log 文件压缩为 msg.tar.gz
    查看 msg.tar.gz 的文件大小
    将 msg.tar.gz 文件下载到Windows 桌面上
    把本地的一个文件上传到Linux服务器里面
    查找本地中包含 log 名字的文件,储存到a.txt中
    查看进程中包含 usr 的行,储存到 b.txt 里面
    查看端口号中包含 tcp 的行,储存到 c.txt 里面

free 单独查看内存

  • free -m 以MB为单位查看

chmod 文件权限

  • chmod xxx 文件名 修改文件权限
  • 第一个x代表所有者的权限
  • 第二个x代表同组用户的权限
  • 第三个x代表其他用户的权限
  • r 数字为4 代表读
  • w 数字为2 代表写
  • x 数字为1 代表执行

  • 7 读 写 执行 rwx

  • 6 读 写 rw-
  • 5 读 执行 r-x
  • 4 读 r—
  • 3 写 执行 -wx
  • 2 写 -w-
  • 1 执行 —x
  • 0 —-

image.png
1.第1位代表文件属性
- 代表普通文件
d 代表目录

  1. 2-4位代表文件所有者的权限
  2. 5-7位代表同组用户的权限
  3. 8-10位代表其他用户的权限

    练习

    1.创建4个文件,a,b,c,d
    2.把a的权限改为所有者可读可写,同组用户可执行,其他用户可读。
    3.把b的权限改为所有者可读,同组用户可读可执行,其他用户可读。
    4.把c的权限改为所有者可读可执行。同组用户可读可写,其他用户可写可执行。
    5.把d的权限改为所有者可读可执行,同组用户可写可执行,其他用户可读可执行。

字母模式

  • r 读
  • w 写
  • x 执行

  • u 所有者

  • g 用户组
  • o 其他用户
  • a 所有人

    • 增加权限
    • 删除权限
  • = 只有此权限

例如:chmod ug-w 文件所有者,用户组去掉写的权限

用户操作

useradd 创建用户

  • useradd 用户名

passwd 设置密码

  • passwd 用户名

他会让你设置密码,密码是不可见形式的
#可以通过查看/etc/passwd文件,查看是否创建好用户

su 切换用户

  • su 用户名

root用户切换其他用户不需要输入密码

userdel 删除用户

  • userdel 用户名

groupadd 创建用户组

  • groupadd 用户组名

可以通过查看/etc/group文件查看用户组信息

groupdel 删除用户组

  • groupdel 用户组名

usermod 给用户更改用户组

  • usermod -g 用户组名 用户名

练习

1.创建一个wangwu用户
2.创建一个ceshi组
3.把wangwu添加到ceshi组
4.创建一个zhangfei用户
5.把zhangfei添加到ceshi组

poweroff 关机

  • init 0 也是关机

    reboot 重启

搭建nginx和禅道

练习nginx进程和禅道kill进程.docx

作业

1、进入到 /usr/local 目录下,清空当前目录
2、复制 /var/log/下面的messages 文件,复制到 local目录下
3、将messages改名为msg
4、在local目录下创建 test71文件夹
5、在local目录下创建名为my 文件
6、在my文件里输入内容后保存退出,并验证文件内是否有内容
7、将my改名为you后,剪切到test71文件夹内
8、创建多级目录:一级目录fanmao71,二级目录fanmao71-01,三级目录fanmao71-03
9、将fanmao71目录整体复制到/opt中
10、删除fanmao71,在将/opt中的fanmao71目录在复制到local下
11、将local中的fanmao71中的fanmao71-01 剪切到/opt目录下
12、清空opt目录
13、进入到local目录下,创建123文件,创建456文件夹
14、将123 456 剪切到/opt目录中去
15、在当前目录下,将/opt中的123 剪切回来
16、在当前目录下,将/opt中的456 剪切回来
16、删除123 456
17、复制/var/log/messages文件到root目录下
18、把messages文件的第50行到100行储存到a.txt中,并且显示行号
19、vi编辑a.txt文件,把里面的Nov替换为fanmao
20、把root目录下的所有文件压缩为fm.tar.gz的文件,然后把它解压到home目录下
21、查看进程,并把结果储存到b.txt中,查看端口号,并把结果追加到b.txt中
22、然后把b.txt的权限改为,所有者可读可写,同组用户可执行,其他人可写可执行
23、把b.txt下载到桌面