第3讲 Linux命令
一、认识Linu系统
Linux是一个免费、开源、基于Posix和Unix的多用户、多 任务、支持多线程和多CPU的操作系统
免费:不要钱
开源:开发源代码
多用户:支持多个用户同时登陆,互不影响
多任务:可以支持多个任务同时进行
多线程:
多cpu:
Linux 的主流版本
ubuntu:高配版
centos:稳定可靠,免费
二、Linux搭建
VM :虚拟机 =》可以部署很多个系统 Linux windows mac os
vm 安装过程
注意:安装时候文件命令不要中文,最好是用英文,
centos 拍快照==》虚拟机==》拍快照==》保存当前的使用状态
进入虚拟机页面,鼠标右键==》open in terminal
三、Linux 命令
1、$:普通用户,拥有普通用户的权限
2、#:超级用户,拥有超级用户的权限
3、su ==》(switch user)是命令 切换用户 su root 切换到root用户
注:su如果从普通切换到超级用户需要输入密码,如果从超级用户切换到
普通用户不需要密码
4、从centos界面切换到电脑 按ctrl+alt
5、ifconfig==》是命令 查看linux的IP地址,在addr后面的IP地址,如果没有ip地址
重启网卡:service network restart ,还是不行,win+r 输入services.msc确定
找到vm服务启动(随便在那个目录下输入ifconfig
6、pwd ==》命令 查看当前绝对路径
7、ll 查看当前路径下所有的文件和目录(详细查看)
ls 查看查看当前路径下所有的文件和目录(不详细查看)
ls -a ==》 a 是参数,查看所有文件和目录包含隐藏的文件
man ls ==》查看ls 的用法,按ctrl +z 退出
ll ==ls -l ==》一样的,都是查看所有文件和目录(详细查看)
8、alias ==》取别名 例子:alias f='ifconfig' ==》给ifconfig取个别名f
unalias f ==》取消取别名
9、ping ==》查看网络是否通的,ping 网址 退出按ctrl + c
10、/ ==》表示根目录
11、cd / ==》cd 是命令 进入目录, 进入到根目录 cd home ==》进入到home目录
dr-xr-x---. 31 root root 4096 May 27 03:18 root ==》d 开头的是目录
-rw-r--r--. 1 root root 348 Jan 18 13:16 head.txt ==》-开头的是文件
cd .. ==》表示返回上一级
cd ../.. ==》返回上两级
cd . ==》.表示当前目录
cd ./duan ==》进入duan目录,是相对路径的写法
cd /home/duan ==》进入duan目录,是绝对路径的写法
12、创建目录
midir a ==》创建一个名为a的空目录
mkdir b c ==》同时创建两个平级目录 b c
mkdir -p aa/bb/cc ==》同时创建一个层级目录名为 aa/bb/cc -p是参数
13、创建文件
touch a ==》创建一个名为a的文件
touch b c ==》同时创建两个文件 b c
14、删除指令
rm ==》提示性删除,后面接文件:rm a1 按y表示同意删除,按n 表示不同意删除,不能删除目录
rm -r ==》提示性删除 按y表示同意删除,按n 表示不同意删除
rm -r +目录 ==》可以删除目录
rm -r +文件 ==》可以删除文件
rm -r +层级目录 ==》如果删除层级目录 rm -r aa/bb/cc ==》一般是从里往外删除,且每一级会提示
rm -rf ==》强制性删除 (文件和目录都可以)没有提示
rm -rf * ==》强制性删除,* 表示通配符,所有的意思,删除当前路径下的所有文件和目录【慎用】
15、centos 在公司中用作服务器使用,==》一般来说我们测试用xshell 连接虚拟机服务器
注意:在xshell 和在虚拟机的操作时同步,互相影响
xshell怎么连接虚拟机?
1)打开xshell
2)在centos 输入ifconfig 获取IP地址
3)在xshell 中输入ssh +ip
4)输入账号root 密码123456
16、vim +文件 ==》编辑一个文件
1)vim +a ==》命令模式
2)输入小写i ==》编辑模式==》输入内容
3)编辑完后,ctrl + c 退出编辑模式
3)按大写 ZZ 或者(shift+:输入wq! 按enter键)==》强制保存退出
17、cp 复制
cp +原文件 +新文件名称
cp file file1 ==》把file文件复制一份名为file1
cp file path/file1 ==》可以接路径复制
cp -r 复制可以文件可以复制目录(子目录也包括)
注意:cp只能复制文件
cp -r 可以复制目录和文件
18、mv 可以改名也可以进行移动
改名
mv +原文件(原目录) + 新文件 (原目录)==》改名
mv file file1 ==》file1不存在,表示把file改名为file1
mv dir dir1 ==》dir1不存在,表示把dir改名为dir1
移动
mv +原文件(原目录) + 目录(存在的)==》移动
mv file dir ==》dir 存在的目录,表示把file 文件移动到dir目录下面
mv dir1 dir ==》dir 存在的目录,表示把dir 目录移动到dir目录下面
19、查看文件内容 cat more less ==》 后面直接接文件
cat +文件名
cat file ==》查看file文件全部内容(全部展示)
less file ==》查看文件内容,展示部分内容,按上下键查看,ctrl+z退出
more file ==》查看文件内容 展示部分内容,以百分比展示,按enter键查看
20、通过gerp 来搜索关键字shift+(|\) ==》出来|管道符
cat file |grep 'duoceshi'
21、重定向符号
覆盖:>(重定向符号)
追加:>> (重定向符号)
目标文件不存在的情况下 file1不存在
cat file >file1 ==》把file文件的内容复制一份到file1文件中
cat file >>file1 ==》把file文件的内容复制一份到file1文件中
目标文件存在的情况下file1 存在
cat file >file1 ==》把file文件的内容覆盖一份到file1文件中,file1原来的内容替换了
cat file >>file1 ==》把file文件的内容追加一份到file1文件中
22、head 查看文件内容
查看文件某行到某行或者前或者后多少行的指令
head 查看文件默认前10行的内容
head file 查看file文件前10行内容
head -n 5 file 查看file文件的前5行的内容
cat -n file|head -n 5 ==》查看文件前5行,并且显示行号
23、tail 查看文件内容
tail 查看文件后10行的内容
tail file ==》 查看file文件后10行内容
tail -n +行数+文件名称 查看指定文件后多少行
tail -n 5 file ==》查看文件后5行的内容
tail -n +5 file ==> 查看文件从第5行开始
tail -f 日志文件 ==》实时查看日志
tail -f 日志文件 |grep "china" ==》动态查看关键字符
24、sed 查看文件
sed -n '5,10p' head.txt ==》查看文件第5 到第10行的内容
sed -n 5p head.txt ==》查看文件第5行的内容
sed -n '5p;10p' head.txt ==》查看文件第5行和第10行的内容
sed -i '2d' a2 ==》删除文件a2中第2行的内容
sed -n 2p a2 > a1 ==》把a2文件中的第2行内容覆盖到a1文件中
sed -n 2p a2 >> a1 ==》把a2文件中的第2行内容追加到a1文件中
25、find 指令
find指令
find 会查询出当前目录下的所有目录和文件
find -name '名称'
find -name 'file'查询当前目录下名称是file的目录和文件且进行显示
find /duan/ -name 'file'查询dcs目录下名称为file的所有目录和文件显示绝对路径
find -name 'fi*' 模糊匹配当前目录下开头是fi的所有目录和文件(* 表示匹配0个或者多个,?表示匹配一个)
find /duan/ -name 'fi*'【模糊匹配duan目录下开头是fi的所有目录和文件】
find -name '*fi' 【模糊匹配当前目录下结尾是fi的所有目录和文件】
find /dcs/ -name '*fi'模糊匹配duan目录下结尾是fi的所有目录和文件
find -name '*fi*' 模糊匹配当前目录下中间是fi的所有目录和文件
find /dcs/ -name '录,不显示文件
type===类型的意思*fi*'模糊匹配duan目录下中间是fi的所有目录和文件
find -type f 查询当前目录下的所有文件,不显示目录
find -type d 查询当前目录下的所有目
26、打包指令
tar 包
打包
tar -cvf a1.tar a1 ==》把a1文件打包成a1.tar 包格式
tar -cvf b.tar b ==》把b目录打包成b.tar包格式
解压
tar -xvf a1.tar ==》把a1.tar包进行解压 ,解压之前现删除原文件,解压后包名不会消失
tar -xvf b.tar ==》把b.tar包进行解压, 解压之前现删除原目录,解压后包名不会消失
tar.gz包
打包
tar -zcvf a1.tar.gz a1 ==》把a1文件打包成a1.tar.gz 包格式
tar -zcvf b.tar.gz b ==》把b目录打包成b.tar.gz包格式
解压
tar -zxvf a1.tar.gz ==》把a1.tar.gz包进行解压 ,解压之前现删除原文件,解压后包名不会消失
tar -zxvf b.tar.gz ==》把b.tar.gz包进行解压, 解压之前现删除原目录,解压后包名不会消失
注:解压只有解压一次就行了,无须重复解压
gzip +文件 (.gz)
gzip a1 执行此命令后:会把a1文件打包为a1.gz格式包
原a1这个文件会消失
gunzip a1.gz 执行此命令后:把a1.gz包进行解压,解压后
【返回对应解压的文件,.gz包会消失】
【注意:此命令一般是针对于文件来打包,对目录无效】
.zip格式包
打包:
zip +包名称.zip +原文件
zip a1.zip a1 ==》把file文件打包成为.zip格式的包
zip +包名称.zip +原目录
zip b.zip b ==》把b目录打包为b.zip格式的包
解压:
unzip +b.zip格式包
unzip b.zip ==>解压b.zip格式的包
27、在线安装工具
1)yum install +安装工具
yum install lrzsz (在linux系统中安装上传rz 下载时sz)
在xshell 中输入rz 会弹窗本地电脑窗口 可以把本地电脑的文件上传到服务器
在linux 中输入 sz + 文件名 命令可以把linux中的文件下载到本地电脑上
注:上传下载一般在0-500mb之内,超过就用xftp
2)在先安装rpm包
rpm -ivh +.rpm 包 ==》i安装 v是可视化 h是进度
28、文件传输:【scp 两台电脑之间的传输】,需要建立桥接模式(在同一网段内)
scp /dcs7/test.txt root@192.168.59.128:/dcs7/b
==》把服务器1(本机)根目录下dcs7下test.txt 文件传输到服务器2上根目录下b目录
scp root@192.168.59.128:/dcs7/test.txt /
==》到服务器2上根目录下dcs7下test.txt 文件放到服务器1上根目录下
29、【以下指令面试常问到】
df ==》查看磁盘的使用情况
df -h ==》带单位查看显示磁盘使用情况
wc -l+文件 ==》统计文件行数
wc -L +文件 ==》统计文件内容最长的位数
top ==》实时查看cpu
top -d 2 ==》每隔2s刷新一次
free ==》查看内存
ps ==》查看进程
ps aux ==》查看所有用户的进程
ps -ef|grep tomcat ==》查看tomcat服务的进程
kill +pid(进程号) ==》杀死某个进程
kill -9 pid (进程号) ==》强制杀死某个进程
getconf LONG_BIT ==》查看内核版本信息
shutdown now ==》关机
init 0 ==》关机
reboot ==》重启linux 系统
service network restart ==》重启网卡
service mysqld restart ==》重启数据库
service iptables stop ==》关闭防火墙
setup ==》配置网络命令
who ==》查看当前在线登录用户
whoami ==》查看当前操作用户
hostname ==》查看本机名称
du -sh ==》可以接文或目录 ==》查看文件或者目录大小
history ==》查看历史操作
nl +文件名称 带行号的显示文件中的内容
nl file 带行号查询file文件中的内容
ln -d 硬链接 (只能针对文件)
ln -d file file2 把file文件在备份一份
ln -s +绝对路劲 +新文件(如果软链接的文件在当前路径则不用绝对路劲,可以用当前路径,如果放到根目录则要用绝对路径)
ln -s /duoceshi/file /file1 创建一个软链接,链接文件名称取名为file1 (放到根目录下)
ln -s /duoceshi/dir /dir1
ln -s ./duoceshi/file file1(相对路径)
lrwxrwxrwx.1 root root 14 Sep 5 02:07 file3 -> xiaoqianq/file 软链接文件
30、权限命令
文件权限三剑客:
chmod:改变文件或者目录的权限
chown:改变文件或者目录的属主
chgrp:改变文件或者目录的属组
-rw-r--r--. 1 root root 8 May 27 18:51 a2
r read 读 权限为4
w write 写 权限为2
x execute 执行 权限为1
前三位rw- :代表属主的权限==>创建的人==》u
中间三位r--:代表是属组的权限==》g
最后三位r--:代表的数其他用户组的权限==》o
-rw-r--r--. 1 root root 8 May 27 18:51 a2
a2文件权限解释:属主(创建者)来说对文件a2由读写,没有执行的权限
属组:有读的权限,没有写和执行权限
其他用户:有读的权限,没有写和执行权限
chmod 777 a2 ==》让所有用户对这个文件都有读写执行的权限
chmod -R 777 b ==》让所有用户对这个目录以及目录下三位所有文件和目录都有读写执行的权限
chmod u+w,g-w,o+x a2 ==》给a2文件属主加上写的权限,同时去掉属组写的权限,其他用户加上执行权限
chmod u+x a2 ==》给a2文件属主加上执行的权限
cat /etc/passwd ==>查看系统存储的用户
0 ==>代表是超级管理员root
1-499 ==》代表是系统用户,不能登录
500 及以上都自己创建的用户
chown duan file ==》把file文件的属主改为duan
chgrp duan file ==》把file文件的属组改为duan
chown root.root file==》把file文件的属主和属组都改为root
chown duan:duan file ==》把file文件的属主和属组都改为duan
useradd duan3 ==》添加一个duan用户、添加完之后用passwd duan3设置密码为123456、
然后在centos里面进行切换用户
adduser duan3 ==》添加一个duan3用户
[root@localhost duan]# userdel -r -f duan ==》强制删除登录用户
userdel: user duan is currently logged in ---》表示在登陆中
useradd duan3 ==》新创建一个用户默认在自己的组里面
useradd duan4 -g duan3 ==》新创建一个duan4用户并且把这个用户添加到duan3这个组里面
(并且不会创建duan1这个组)
groups duan4 ==》查看duan4这个用户属于哪个组(属于duan3这个组里面)
groupadd duan2 ==》新创建一个组里面没有任何的用户
cat /etc/group ==》查看所有的组
gpasswd -a duan2 duan3 ==》把一个用户duan2移到duan3这个组里面去
gpasswd -d duan2 duan3 ==》把duan这个用户从duan2这个组里面移除掉
|
|