linux常用的终止命令 : ctrl + c ;crtl + z ; q ; quit ;
一、网络传输的基础:
1、计算机互联网的基本条件:ip、子网掩码、网关、域名解析服务器DNS 。
- ip :每台电脑ip是唯一的。 (192.168.248.45)
- 子网掩码:网段匹配(255.255.255.0 或者 24)
- 路由(网关):192.168.248.1
- DNS:192.168.248.1 、8.8.8.8
二、vmware虚拟机网络配置:
1、虚拟机网络配置分三种模式:
- -》NAT(推荐),既能局域网访问,也能访问外网
- -》桥接模式,既能局域网访问,也能访问外网
- -》hostonly(仅本地模式),只能局域网访问,不能访问外网
2、网络配置:
(1)编辑网卡:
vi /etc/sysconfig/network-scripts/ifcfg-eth0 :
- - ONBOOT = yes
- - BOOTPROTO = static
- - IPADDR=192.168.109.51 根据虚拟机的虚拟网关来配置。
- - NETMASK=255.255.255.0 子网掩码
- - GATEWAY=192.168.109.2 网关
- - DNS1=192.168.109.2 域名解析服务器
- 保存配置信息:按esc退出编辑模式,然后按shift + :,输入wq,按回车即可,在没有改写东西时,按 ctrl + z 退出。
(2)重启网卡服务
- - 命令:service network restart
(3)查看网络配置:
- 命令:ifconfig
(4)配置主机名(区别于用户名):
- ①可以用命令配置主机名,但是不是永久生效的,重启之后就会失效
- - hostname 主机名 临时配置
- ② 编辑network文件:vi /etc/sysconfig/network
- - HOSTNAME=主机名 永久配置更改主机名(区别于用户名)
- ③查看主机名命令:hostname
(5)配置网络映射: 映射的是主机名而不是用户名。
- -》编辑hosts文件,命令:vi /etc/hosts
- - 192.168.109.51 主机名
Windows下的网络映射:
C:\Windows\System32\drivers\etc 的 hosts文件
(6)添加 普通用户的sudo权限:
命令: visudo
(7)重启虚拟机,命令:reboot
三、linnux的常见命令:
1、命令格式:
- 命令 [-选项] [参数] 中括号 表示可加可不加。
2、ifconfig、crtl + c、man
- -》ifconfig 作用:查看网卡信息
- crtl + c 作用: 强制终止程序
- man 命令 作用 : 查看命令用法
3、clear 清屏
- -》作用:清屏
- -》快捷键:crtl + L
4、cd 移动
- -》作用:移动到指定的目录下
- -》示例:cd /etc/sysconfig/network-scripts/
- -》示例:cd .. 表示返回上一级目录
- -》示例:cd ./ 表示从当前文件开始移动
- -》示例:cd 或 cd ~ 表示进入 当前用户的 家目录
5、pwd 打印绝对路径
- -》作用:打印当前所处路径
- -》示例:pwd
6、ls 列出目录的所有文件
-R 选项 递归查看文件夹内容
- -》作用:列出当前所在目录或指定目录下的所有文件
- -》示例:ls / 列出根目录下的所有文件
- -》示例:ls -l / 以详细信息列出根目录下的所有文件,也可以使用ll别名代替ls -l
- -》示例:ls -la / 加-a表示显示所有文件(包括隐藏文件)
- -》示例:ls -ld / 加-d表示只查看指定目录的信息,不查看目录下的文件信息 ( 结果例子 : drwxrwxr-x. 3 hadoop hadoop 4096 Nov 22 10:23 .)
- -》示例:ls -lh / 加-h表示文件大小以人类可读的方式显示,默认是字节为单位
- -》示例:ll 用法与 ls -l 相同
7、文件夹(目录)的增、删、改(目录名)、查:
(1)mkdir 增加目录:
- -》作用:创建一个新的目录
- -》示例:mkdir /tmp/testdir 在根目录tmp下创建一个testdir目录
- -》示例:mkdir -p /tmp/logs/log1013 如果父目录logs不存在,需要加-p选项。
mkdir -p ./test1/text/ ./test2/text/ # 可以同时添加多个,很多命令多有这个特点。
(2)删除目录:
- ① rmdir : 只能删除空文件夹,不能删除 文件。
- -》示例:rmdir testdir
- -》注意:rmdir只能删除空目录,如果目录下有内容则删除不了
- ②rm :可以删除 文件 和文件夹,如果文件夹里面有内容 用 -r
- -》作用:删除目录或文件
- -》示例:rm log123.txt 删除log123.txt文件
- -》示例:rm -r logs 删除目录的时候需要加-r选项
- -》示例:rm -rf logs 加-f表示不再询问,默认选择是。
③ 修改目录名 :linux 中 用 剪切 mv 来修改目录:
mv text10/ test111/ # 使用剪切时不用 -r 递归。区别于 rm
④ 查看:ls
8、文件的创建、删除、重命名、查看:
- ① 文件的创建:touch 命令 或 vi / vim 编辑命令 : 创建一个文件,没有目录无法创建。
- -》示例:touch /tmp/log123.txt 在根目录的tmp下创建一个log123.txt文件
- -》示例:vi /tmp/log123.txt 在根目录的tmp下创建一个log123.txt文件
- ② 文件的删除:rm
- ③ 文件的重命名 mv
- ④ 文件的查看:具体 在 第 10节
9、复制与剪切: cp 、 mv(可以重命名):
- -》作用:复制文件、目录与重命名,
- -》示例:cp /etc/passwd /tmp 把etc目录下的passwd文件拷贝到根目录tmp下
- -》示例:cp -r /tmp/copydir /opt 拷贝目录的时候需要加-r选项
- -》示例:cp /home/liu/text.txt /opt/text_copy.txt 拷贝文件时可以重命名。
- -》示例:cp -r ./python ./test ./AI_07/ 拷贝可以同时拷贝多个值(将 目录python 和 test 内所有内容 复制到 AI_07目录下。)
- -》作用:剪切和重命名: mv 没有 -r 选项
- -》示例:mv /tmp/passwd /opt 把passwd文件剪切到根目录的opt下
- -》示例:mv passwd new_passwd 把passwd文件重命名为new_passwd
- -》示例:mv ./python ./test ./AI_07/ 剪切可以同时剪切多个值 且不需要 -r 选项。
10、查看文件的内容:cat、more、cut
1、常见的查看:cat、tac、more ... 按 q 退出
- -》命令1:cat passwd 适合查看内容较小的文件
- -》命令 :cat -n passwd 显示行号
- -》命令 :cat -bn passwd 显示行号(去掉空格)
- -》命令1:tac passwd 倒叙显示(与cat相反)
- -》命令2:more /etc/services 适合查看内容较多的文件,按Q退出。空格翻页,回车逐行查看,缺点不支持向上查看
- -》命令3:less /etc/services 和more功能类似,增加了向上查看。按"上箭头"即可向上逐行查看
- -》命令4:head -10 /etc/services 查看文件的头10行,想查看多少行可以自己指定
- -》命令5:tail -10 /etc/services 查看文件的末尾10行,想查看多少行可以自己指定
- tail -f 加-f选项适合查看实时写入的流式文件
2、截取查询:cut 从文件的输出指定的列: cut 中计数从 1 开始。
[liu@localhost ~]$ cat name.txt 文件内容
1701:name:liukang:age:22
1701:name:xuhao:age:22
1701:name:yufei:age:22
1701:name:lvqiongqiong:age:22
# cut 中计数从 1 开始
cut -b 数字 文件名 -----打印每一行第 n 个字节 的 那一列
cut -c 数字 文件名 -----打印每一行第 n 个字符 的 那一列
cut -d 分隔符 -f 第几段分隔符 文件名 -----打印 以某个 分隔符(默认是 tab 键) 分割后 第n 段分隔 的 那一列
例:cut -d : -f 3 name.txt
结果:
liukang
xuhao
yufei
lvqiongqiong
11、搜索文件 find、grep:
(1)通过文件的文件名、大小、访问时间等查找文件: find 命令
特点:递归查询文件和目录。
" "搜索文件时必加(递归查询符合条件文件和目录)
选项:-name 按照文件名 ; -iname 不区分大小写 ;-size 按照大小 ;-amin 某分钟访问的的文件;-atime 某天访
问的文件;-mmin 某分钟修改的文件;-cmin 某分钟创建的文件;
find ./ -name 'python*' 查询当前目录所有文件名包含 python 的文件。
find ./ -size -10M 小于10M的文件
find ./ -atime -10 访问时间小于10天的文件
find ./ -mmin -10 修改文件时间小于10分钟
② 对查找的的内容进行操作: -exec 命令 {} \; -------------- 类似于管道符 | 。
命令:find ./ -name 'python*' -exec rm -rf {} \;
(2)通过文件内容中的 str 来搜索 文件: grep
特点:只能查找文件,不能查找目录。
命令格式: grep "内容" 搜索范围
grep 'aaaa' ./* 寻找当前目录文件内容中包含 aaa 的文件, * 必须要加
cat aaa.txt | grep 'java' ---------- 查询aaa.txt并显示 包含java的内容
12、计算文件、目录大小:
(1)du 命令:最小单位为4K
du -h ./ 统计当前目录下所有目录的大小(不包含文件)
du -h ./* 统计当前目录下所有目录、文件的大小
du -sh ./ 统计当前目录、磁盘总大小
(2)wc命令(word count):统计文件行数、单词数、字节数:
命令:wc name.txt
结果: 4 4 101 name.txt
行数 单词数 字节数 文件名称
13、vi/vim编辑器:
(1)命令模式:
(2)编辑模式:按 i 进入:
(3)最后行模式:命令行模式按 :进入:
14、 修改用户密码:
命令: passwd 用户名 ----------------- 需要管理员权限。
例:sudo passwd liu
15、关机、重启:
四、用户与用户组的管理:useradd、groupadd
1、Linux用户的分类:
- -》超级管理员root用户
- -》系统用户(称作伪用户)
- -》普通用户
2、查看linux系统当前有哪些用户、用户的增删(/etc/passwd):
(1)查看用户信息:
-》命令:more /etc/passwd 查看passwd文件即可
-》passwd文件内容截取:root:x:0:0:root:/root:/bin/bash account:password:UID:GID:GECOS:directory:shell
- 第1列:用户名
- 第2列:密码标记位,如果用户有密码,则显示x
- 第3列:用户ID,英文简称UID
- 0就代表是root用户
- 1-499代表系统用户
- 500之后代表普通用户
- 第4列:用户组ID,英文简称GID
- 第5列:用户的描述信息
- 第6列:用户的家目录位置
- 第7列:用户登录成功之后所使用的shell
-》man 5 passwd 可以查看配置文件文档信息
(2)添加、删除用户和设置用户密码:
①创建普通用户:useradd ibeifeng 需要管理员权限。
useradd命令选项: -g 指定所属组 ; -G 指定附加组 ; -p 指定密码
例:sudo useradd -g liu -G root -p 123456 zhang
②为用户设置密码:passwd ibeifeng
userdel -r zhangsan 加-r表示删除用户的同时把用户目录也一并删除
exit 用户名 退出用户登录。
④用户之间的切换:
普通用户 互相切换: su - 用户名 切换后跳转到指定用户的家目录。
su 用户名 在当前目录跳转到 指定用户。
普通用户 切入管理员用户:su - 或 su - root 输入密码后 跳转到 管理员用户的 家目录 /root
su 或 su root 在当前目录跳转到 管理员用户。
(3)修改用户的所属组、用户添加附加组:usermod
① 修改用户的所属组:
命令:usermod -g 修改的组名 用户名
②用户添加附加组:
命令:usermod -G 附加的组名 用户名 ------- 附加多个组的时候用 ,隔开。
③ 删除用户的附加组:
命令:gpasswd 附加组名 -d 用户名
例:sudo gpasswd root -d zhang
④ 修改用户的用户名:选项 -l
3、用户组管理( /etc/group ) :
(1)查看组信息:
-》linux系统在创建用户的时候,会默认创建一个和用户同名的用户组,并且用户组ID和用户ID一致
-》查看用户组信息:cat /etc/group文件即可
-》bin:x:1:bin,daemon
- 第1列:用户组名称
- 第2列:密码标记位
- 第3列:用户组ID
- 第4列:用户组里包含的用户,可能也没有任何用户
(2)添加、删除组:
① 创建用户组:groupadd teacher
② 删除用户组:groupdel teacher
五、文件权限管理(chmod,chown,chgrp):
1、ll 查看文件权限解析:
(1)d r-x r-x r-x. 2 root teacher 4096 Oct 13 11:23 bin:
-》第1列:用户对bin的操作权限 (d:文件夹, - :文件, l 代表链接文件, rwx :可读可写可执行)
-》第2列:表示目录下的文件个数
-》第3列:bin文件的 所有者
-》第3列:bin文件的 所属组
-》第4列:文件大小,默认单位是字节
-》第5列:日期
-》第6列:文件的名称
(2)linux的文件根据操作权限把用户分成了三类:
-》所有者,用user表示,简称u (第一个 r w x)
-》所属组,用group表示,简称g
-》其他人,用other表示,简称o (最后一个 r w x)
所有的(u、g、o),简称 a
2、修改文件的权限chmod (不需要管理员权限)
(1)利用 u、g、a 的方法修改权限:
-》使用chmod命令可以修改文件的权限,需要注意:只有root用户和文件的所有者才有权限执行chmod命令
chmod 有 -R 的选项 ,将文件夹内所有的文件权限修改。
- chmod u+x log.txt 给所有者 添加执行权限
- chmod g-w log.txt 给所属组 去掉写权限
- chmod a-x log.txt a表示对所有者、所属组以及其他人同时进行操作
- chmod g-w,o+x log.txt 注意:中间加的是 , 而不是空格。 区别于改 chown同时的用法。
chmod g+w,o+w test111/ g :组 o : 其他用户 u :所属用户
(2)利用权限的数字表示法:
r ----- 4 w ------ 2 x -----1 - 0
- - 练习:- rw- r-- r-- 644
- 把这个权限rw-r--r--,修改成rwxr-xr-x
- chmod 755 log.txt
chmod 755 test111
3、修改文件的所有者和所属组(需要管理员权限):
(1)chown、chgrp分别修改:
① 修改所有者命令:chown ibeifeng log.txt 先 组名 后文件/目录名。
② 修改所属组命令:chgrp ibeifeng log.txt
tip:chown和chgrp命令只有root用户才有权限执行,即使是文件的所有者也没有权限执行
(2)chown同时修改所有者和所属组:
一个命令同时修改文件的所有者和所属组?
命令:chown root:root log.txt
命令:chown root:root -R log.txt ---------- 递归更改拥有者
chown ibeifeng:teacher test111
用户名 组名
6、读写执行权限对于目录和文件来说意义是不一样
-》r对于目录来说rwx有哪些执行命令:
- r ls
- w mkdir、touch、rmdir、rm
- x cd
-》对于文件来说rwx有哪些执行命令:
- r cat、more、less、head、tail
- w vi、>、>> (重定向)
- x sh print.sh
7、追加 >> 与 覆盖 > 用法:
注意 :>> 与 > 并不是命令 ,不能单独用在 管道符 | 后面。
命令1:cat /etc/passwd | grep 'java' >> /home/liu/b.txt 追加
命令2:cat /etc/passwd | grep 'java' > /home/liu/b.txt 覆盖
命令3:cat /etc/passwd > /home/liu/b.txt 将内容覆盖到 b.txt中
命令4:cat /etc/passwd | > /home/liu/b.txt 注意: > 不是命令,| 需要两边都是命令 ,因此有误。
8、管道符: |
用法: 命令1 | 命令2 ,管道符两边必须都是命令。
六、init 、远程登录 ssh、文件传输sftp:
1、init 需要 管理员权限 :
init 0 关机 init 3 完全多用户 init 5 图形化界面 init 6 重启
2、远程端口 ssh :
命令: ssh 用户名@ip地址
例: ssh liu@192.168.20.35
3、windows远程文件:
(1)传输sftp:
第一步:命令: sftp 用户名@ip地址
例:sftp root@192.168.20.129
sftp中 可以使用简单的 linux命令 ,如 cd ls pwd
第二步:传输文件命令:
①上传命令 put: 目录 加上 -r
put windows文件路径 linux文件路径
例:put E:\test\aaa.txt /home/liu/
② 下载命令 get:目录 加上 -r
put linux文件路径 ------------- 不能指定下载位置
(2)安装插件:sudo yum install -y lrzsz
------------ 第二节
(3)linux与linux跨节点传输:
前提:ssh免密登陆 ---- 第二节
命令:scp 本机文件路径 目标ip/主机名:目标路径
实例:scp LsFile AI07-server2:/home/liu/ --------- 把 LsFile 文件传输到 AI07-server2的/home/liu/路径
七、压缩与解压缩 tar、gzip、unzip:
1、gzip命令:
特点:只能压缩文件,且不能保留源文件。
2、tar命令:
选项:-z gzip属性 ;-c 压缩;-C 指定解压路径 ;-x 解压 ;-v 显示过程 ;-t 查看压缩内容 ;-f 指定操作文件名(必须放在最后)
①压缩:命令:tar -zcvf 压缩文件名 带压缩文件路径
(1)例:tar -zcvf text.tar.gz ./* ----------- 压缩内容不包括当前目录
tar -zcvf text.tar.gz ./ ----------- 压缩内容包括当前目录
(2)筛选压缩文件、同时压缩多个文件:
1)筛选压缩文件:--exclude=
tar -zcvf text.tar.gz ./* --exclude=python --exclude=name.txt 压缩去除 目录python和文件name.txt 的内容。
# --exclude= 可以多个连续使用
2)同时压缩多个文件:空格隔开
tar -zcvvf text1.tar.gz python name.txt 可以同时压缩多个文件 ,中间用 空格 隔开。
②查看压缩文件的内容:命令:tar -tvf 压缩文件路径
-C 不要忘记
例:tar -zxvf yasuo.tar.gz -C ./test
3、解压zip文件命令unzip:
命令格式:unzip -d 解压路径 带解压文件
八、磁盘管理命令:
1、fdisk:
命令:fdisk -l 显示所有分区内容
2、mdisk:格式化分区
3、mount、umount 挂载与取消挂载硬件设备:
命令:mount /dev/cdrom /mnt 挂载硬件设备
命令:umount /mnt 取消挂载硬件设备
九、系统进程管理命令:
1、centos6 :
(1)服务管理命令:service [network iptables ] [start stop restart status]
(2)开机服务管理命令: 服务项是否开机启动
chkconfig [iptables network] [on off]
(3)进程管理命令:
ps 查看进程; jps 查看java进程 ;kill -9 PID 强制杀死进程 ;kill all java 杀死所有java进程
2、centos7:
centos7服务管理、开机服务:systemctl (service chkconfig 的集合)
①命令格式: systemctl 选项 服务项名
选项:[start restart reload stop status enable disable is-enabled ]
重载 状态 开机启动 是否开机启动
服务项名: firewalld 防火墙 ----- 末尾的 d 不要忘记加
httpd 服务器网页服务
network 网卡
② 进程管理命令:
ps ;top 显示正在运行的程序情况 ;free 内存信息 ;w 登陆本机用户信息 ;kill -9 PID;
十、安装与卸载包:
1、查询已经安装的包:
命令:rpm -qa 只查看已安装的包 ------------- 例:rpm -qa | grep 'java'
命令2:yum list installed
2、强制性卸载包:
命令:rpm -e --nodeps 包名
命令2:yum remove -y 包名
3、安装包:
命令: yum install -y 包名 ----------- 安装在线包
命令:rpm -ivh 软件包的路径 ----------- 安装离线rpm包
4、更新:
5、清除上次安装缓存:
十一、防火墙命令(Centos7):
端口: 网页传输 80 ;ssh 22 ;数据库: 3306
1、查看防火墙全部端口和服务:
命令:sudo firewall-cmd --list-all
2、防火墙添加端口和删除端口:
①添加端口:
例:添加 网页80 端口:
80/tcp --permanent (--permanent表示永久生效 --timeout 200 表示生效200秒。)
命令2:firewall-cmd --reload 重加载
②删除端口:
例:删除 网页80 端口:
80/tcp --permanent (--permanent表示永久生效 --timeout 200 表示生效200秒。)
命令2:firewall-cmd --reload 重加载
3、防火墙添加服务和删除服务:
①添加服务:
例:添加 网页 http 服务:
http
命令2:firewall-cmd --reload 重加载
②删除服务:
例:删除 网页 http 服务:
http
命令2:firewall-cmd --reload 重加载