Linux基本操作

1.课程内容

修改静态IP

在etc/sysconfig/network/ifcfg-xxx配置文件中修改

用vim编辑器,命令:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

2.远程登陆

2.1ssh登录

在win中利用ssh登录虚拟机

ssh root@192.168.111.100

root为用户名@192.168.111.100是IP地址

2.2Xshell工具

远程登陆工具

连接设置

名称应该无所谓 协议里的SSH应该就是win里那个SSH协议 主机就是IP地址

Xftp7

文件传输工具

3.系统管理

3.1 Linus服务管理

service 服务名 start|stop|restart|status

这个语法是Centos6里面的了,不是最新的,最新的用systemctl做服务管理

3.1.2 systemctl

systemctl start|stop|restart|status 服务名

ststemctl是system control的意思

查看服务的方法

ls /usr/lib/systemd/

3.2系统运行级别

系统运行级别

 

(Centos7中简化为multi-user.target和graphical.target(相当于运行级别3和5))

查看当前运行级别

systemctl get-default

Centos7运行级别

(Centos7中简化为multi-user.target和graphical.target(相当于运行级别3和5))

multi-user.target相当于运行级别3
graphical.target相当于运行级别5

修改运行级别

systemctl set-default multi-user.target
//将默认运行级别设置为mulit-user(重新启动后就会进入命令行模式)
systemctl set-default graphical.target
init 3
//将运行级别设置为级别3(立即生效)
init 5

3.3关机重启命令

sync 将数据由内存同步到硬盘中
halt
pwoeroff 关机断电
rebot 重启
shutdown 关机

4Shell命令实操

shell解释:

shell指用户操作接口。操作系统运行起来后都会给用户提供一个操作接口,这个操作接口就叫shell。即用户去操作 系统 的接口

4.1 帮助命令man

man 命令

man ls
//列出ls这个命令的功能
//按q退出介绍界面

4.2帮助命令help

help命令只能获取内部shell的功能介绍

help这是一个简单的描述,help的信息man都包含了

4.3man和help对比

  • help命令用于显示shell内部的帮助信息,对于外部命令的帮助信息只能使用man或者info命令查看。

  • 一般看信息都用查看man文档,而help只是一个简单的描述,方便,但man文档中都包含了。

4.4type命令--判断是shell命令还是外部命令

###

5命令实操--文件目录类

5.1pwd命令显示当前工作绝对路径

pwd:print working directory

5.2相对路径使用“..”

cd /root/桌面/

这里是使用了绝对路径,绝对路径都是由根目录"/"开始

cd ../

这里使用绝对路径,这里的“..”代表当前路径的上一层目录

cd /root
cd 桌面/

这里就是直接以当前目录中,寻找“桌面文件”

tips:直接输入“cd”直接回车,会回到当前用户的主目录中:root用户会回到/root,其他普通用户会回到/home/username中

5.3ls命令

ls:list

ls -a

ls -a 

列出所有文件(包括隐藏文件)

这些前面带.的都是隐藏文件

ls -l

ls -l
相当于
ll

长数据串列出,包含文件的属性与权限等文件信息

ls -l 有另一个别名 ll,两个效果完全一样

5.4 mkdir创建一个新的目录

mkdir:make directory

5.5rmdir删除一个目录

rmdir: remove directory

不能删除非空目录

5.6touch创建一个新文件

touch 文件名称

5.7cp复制文件或目录

cp:copy

cp [选项] source dest (复制source文件到dest目录/文件)

cp initial-setup-ks.cfg /root/桌面/
//dest为目录
//把当前目录的initial-setup-ks.cfg文件复制到/root/桌面/目录下
cp initial-setup-ks.cfg a
//dest为文件
//把当前目录的initial-setup-ks.cfg文件的内容覆盖到当前目录a文件中

cp也可以复制整个目录(使用-r 递归复制整个文件夹,包括文件夹下所有内容)

cp -r b /root/桌面

复制整个b文件夹(包含b文件夹下的所有内容到/root/桌面)

5.8rm删除文件或目录

rm:remove

rm [选项] deleteFile (递归删除目录中的所有内容)

选项说明

-r 递归删除所有内容
-f 强制执行删除操作,不提示用于确认
-v 显示指令的详细执行过程

rm不能删整个非空目录

rm -r能删除非空目录,但是删除每个目录/文件时都要确认

rem -rf 强制执行,递归删除,没有提示全部删除

rm -rf /*

​
rm -rf /
//没事,因为现代版的rm命令已经已经针对野蛮的"rm -rf /"行为做了安全性检查。"rm -rf /"会被拒绝执行
rm -rf /*
//带通配符的删库跑路版本才是罪恶之源,
oot# rm -rf /*
等价于
root# rm -rf /bin /boot /dev /etc /home /lib /lib64 /lost+found /media /misc /mnt /net /nfs /opt /proc /root /run /sbin /srv /sys /tmp /usr /var

5.9 mv移动文件与目录或重命名

mv: move

mv odlFileName newFileName  (重命名)
​
mv /temp/moveFile /targetFolder (移动文件)

目标是目录,移动

目标是文件,overwrite,内容覆盖但是文件名不变

5.9查看文件内容命令cat,more,less

cat文件内容

cat:catch

cat [选项] 要查看的文件

选项

-n 带行号显示所有文件内容,包括空行

more文件内容分屏查看

more 要查看的文件

比cat多一些操作

less分屏显示文件内容(功能比more更丰富)

less 要查看的内容

(less不是一次性加载所有内容,而是根据显示需要加载内容。less对打开大型文件效率更高)(大文件的处理,好像vim也不如less)

6命令实操--其他命令

6.1 echo输出内容到控制台

echo 输出内容到控制台

echo [选项] [输出内容]

echo和>>输出重定向结合可以实现一些文件写入操作

6.2head显示文件头部分内容

head 默认 显示文件头10行内容

head -n 5显示文件头5行内容

head -n 20 anaconda-ks.cfg
//显示anaconda-ks.cfg文件的头20行

6.3tail 显示文件尾部内容

tail 默认显示最后十行

tail -n 5 显示最后5行

tail -f 实时追踪文档的所有更新

6.4 ln软链接:类似window里的快捷方式

ln :link

ln -s [原文件或目录] [软链接名]

ln(是L艾露,不是艾)

6.5 history查看历史信息

history //查看所有所有,包括关机之前的所有   的历史操作
history 10 //查看历史的10条
history -c  //清空所有历史命令

7.时间日期类

7.1 date 显示日期时间

7.2 cal显示当前日历

8 用户管理

(用户管理必须以root用户身份进行操作)

8.1 useradd添加新用户

useradd 用户名 (添加新用户)

useradd -g 组名 用户名 (添加某个用户到某组)

普通用户都在/home下

root用户在/root下

8.2passwd 更改用户密码

passwd 用户名

shell中不显示输入的密码,直接输入就完事

8.3 id查看用户是否存在

id testUser 
​
显示:uid=1001(testUser) gid=1001(testUser) 组=1001(testUser)

8.4cat /etc/passwd查看创建了哪些用户

cat /etc/passwd

8.5su切换用户

su:switch user

su testUser

8.6userdel 删除用户

8.7 who查看登录用户信息

who
who am i
whoami

8.8 sudo给普通用户赋予root权限

修改配置文件
vim /etc/sudoers

9.用户组管理

9.1 groupadd新增组

groupadd testGroup1

9.2 groupdel删除组

groupdel testuser
//删除testuser这个组

9.3 groupmod修改组

groupmod -n testgroup1 testGroup1
//修改testGroup1的组名为testgroup1  ---大写换了个小写,Linux中不适用大小写混杂的命名方法
usermod -g testuser testGroup1
//修改testuser用户的组为testGroup1组

9.4cat /etc/group查看创建了那些组

cat /etc/group

10 文件权限管理

10.1 文件属性

从左到右的10个字符表示

r:read

w:write

x:execute

10.2 chmod改变权限

方式1

chmod [{ugoa}{+-=}{rw}] 文件或目录
//ugoa分别 代表修改user属主权限、group属组权限、other其他用户权限,all所有权限
//+-=赋予权限规则,加权限,减权限,重新给权限
//rw 就是权限  
例:chmod u+x anaconda-ks.cfg 
//给anaconda-ks.cfg 的属主权限加了x执行权限

方式2

chmod [mod=421]  [文件或目录]

r=4,w=2,x=1 若要给多个权限,把数字加起来

例:7=r+w+x ,6=r+w,3=w+x 不会歧义

(这个实际是二进制 7=111 6=110 3=011)

(8421码实际也是这种思想)

还是使用ugoa

10.3 chown改变所有者

chown uesr1 anaconda-ks.cfg

属主由↑改为↓

10.4chgrp 改变所属组

chgrp testgroup1 anaconda-ks.cfg

属组由↑改为↓

11.搜索查找类

11.1 find查找文件或目录

find 从指定目录向下递归遍历查找其各个子目录

find [搜索范围]  [选项]
搜索范围不填,默认当前位置

搭配* ,这个通配符使用

11.2 locate定位文件路径

locate查询不是遍历整个系统,locate利用事先建立的系统中所有文件名称及路径的一个数据库,查询速度快。

这个数据库不是实时更新的,所以查找之前要先更新

更新
updatedb
locate [查询文件]

11.3 grep过滤查找及 | 管道符

管道符 | ,表示将前一个命令的处理结果输出传递给后面的命令处理

grep 选项 查找内容 源文件

grep是从文件内容里查找,不是找文件名

12 压缩/解压

12.1 gzip/gunzip

gzip就是linux自带的一个压缩工具

gzip 文件 
//将文件压缩为*.gz
gunzip 文件.gz
//解压缩文件

注:不保留原来的文件(压缩完,原来的文件没有了)

不可以压缩目录

12.2 zip/unzip

zip [选项] XXX.zip 将要压缩的文件
unzip [选项] XXX.zip

注: 压缩保留原来的文件

可以压缩目录

11.3 tar打包

tar [选项] XXX.tar.gz 将要打包进去的内容
//打包目录

注:打包同时压缩 -z命令 压缩用的是gzip

13磁盘管理

13.1 du查看文件和目录占用空间情况

du: disk usage

du 目录/文件

13.2 df查看磁盘空间使用情况

df: disk free

 df 选项

(free 也是一个查看磁盘使用情况的)

13.3 lsblk查看设备挂载情况

lsblk :list block

13.4 mount/unmount挂载和卸载

mount [-t vfstype]  [-o options] device dir
unmount 设备文件名或挂载点

13.5 fdisk 分区

fdisk -l
//查看磁盘分区详情
fdisk 硬盘设备名
对新增加的硬盘进行分区操作

注:命令必须在root用户下才能使用

14 进程管理

14.1 ps查看当前系统进程状态

ps:process status

ps aux | grep XXX 查看系统中所有进程
ps -ef | grep XXX 查看子父进程之间的关系

ps aux |less

14.2 kill终止进程

kill [选项] 进程号 通过进程号杀死进程

killall 进程名称 通过进程名称杀死进程

14.3 pstree 查看进程树

pstree [选项]

14.4 top实时监控系统进程状态

top [选项]

14.5 netstat 显示网络状态和端口占用信息

netstat -anp |grep 进程号          查看该进程网络信息
netstat -nlp |grep 端口号         查看网络端口号占用情况

15 系统定时任务

15.1 crontab 服务管理

crond 定时任务

15.2 定时任务设置

 

例:

16软件包管理

RPM概述

RPM:RedHat Package Manager

RPM,RedHat软件包管理工具

RPM包名称格式(安装包格式)

16.1 rpm -qa RPM查询命令

rpm -qa

16.2 rpm -e RPM卸载命令

rpm -e RPM软件包
rpm  -e --nodeps 软件包

16.3 rpm -ivh RPM安装命令

rpm -ivh RPM包全面

YUM概述

YUM:Yellow Dog Updater,Modified 基于RPM,自动处理依赖关系,无需自己找RPM包,可以从指定服务器自动下载RPM包(感觉类似Jav中的Maven)

yum [选项]  [参数]

16.4 yum常用命令

16.5 yum修改网络源

17 shell编程

17.1 shell脚本入门

脚本默认以 .sh 结尾

1.脚本格式

脚本以

#!/bin/sh  

开头,指定解析器为sh(bash)解析器

2操作实例

创建.sh脚本并写入

3脚本执行

1.bash + 脚本

另: sh + 脚本(sh实际上就是bash,和上面没区别)

2直接输入脚本路径(脚本文件必须具有可执行权限)

/root/jiaoben/hello.sh

但是要提前给hello.sh赋予x执行权限

赋权命令

chmod +x hello.sh

3.在脚本路径前加 “.”或source

17.2 变量

1.系统常用变量

$HOME 
$PWD 当前工作目录
$SHELL 当前使用的解析器
$USER  当前用户
等

2.自定义变量

变量名=变量值         ((=前后不能有空格)
​
撤销变量

P69集后面没看

其他

常用快捷键

11.Ctrl+C 停止进程

2Ctrl+l 清屏

3Tab 提示补全

Linux文件结构图文件结构

Linux原生命令

如cp的原生命令 /cp
​
ls的原生命令  /ls

//前面加反斜杠/,是 现在使用的命令大多是封装过的,为了更好使用 前面加反斜杠/,则使用的是Linux的原生命令

例如cp是‘cp -i’的别名

ls是‘ls --color=auto’的别名

不过也不重要,有别名的命令也不多下面列出的就是用“alisa”命令查出的所有的有别名的

Linux命名规则

1.Linux区分大小写

2.Linux中尽量使用字母,数字,下划线

3.不使用大小写混杂的命名!

通配符*

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值