Linux入门

  • Linux介绍

1)Linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发非常强悍。现在很多企业及项目都部署到Linux/unix服务器运行。
2)Linux是内核,CentOS\Redhat\Ubuntu\Suse…是发行版
3)Linux网络模式:
桥连接好处:通讯比较畅通。缺点:可能导致ip冲突
NAT好处:不会造成ip冲突
主机模式:Linux是个独立的主机,不能访问外网。

  • 安装vm和centos
  • 安装vmtools
    1)可以直接粘贴命令在windows和centos系统之间
    2)可以设置windows和centos的共享文件夹
    操作:
    1)进入centos
    2)点击vm菜单的->install vmware tools
    3)centos会出现一个vm的安装包
    4)点击右键解压,得到一个安装文件
 tar -zxvf filename.tar.gz

5)进入该vm解压的目录,该文件在 /root/桌面/vmware-tools-distrib/下
6)安装./vmware-install.pl
7)全部使用默认设置即可
8)需要reboot重新启动即可生效
共享文件夹操作:
1)在母机新建一个共享文件夹
2)在虚拟机设置选项里面,共享文件夹选中共享文件夹——>总是启用
3)linux在/mnt/hgfs文件下可以找到

  • linux目录结构
    在linux里面,一切皆文件,只有一个根目录/
    在这里插入图片描述
  • linux远程登陆
    XShell:远程登录到linux的软件
    xftp5:文件上传下载文件
    安装XShell:
    1)linux要开放22号端口

具体步骤如下:

1.查看ssh服务的状态
输入以下命令:

sudo service sshd status

如果出现

Loaded: error (Reason: No such file or directory)

提示的话,说名没有安装ssh服务,按照第二步:安装ssh服务。

如果出现

Active: inactive (dead)

说明已经安装了ssh服务,但是没有开启。按照第三步:开启ssh服务。

 

2安装ssh服务
安装ssh命令:

如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:

sudo yum install sshd

或者

sudo yum install openssh-server(由osc网友 火耳提供)

如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:

sudo apt-get install sshd

或者

sudo apt-get install openssh-server(由osc网友 火耳提供)

 

然后按照提示,安装就好了。

 

3.开启ssh服务
在终端敲入以下命令:

sudo service sshd start

执行完命令后,用第一步:查看ssh服务状态的命令,如果出现以下提示

Active: active (running) since Sun 2013-04-07 13:43:11 CST; 15s ago

说明你的ssh服务已经启动了。如果失败来的话,那试着卸载一下(看第六步:卸载ssh服务)再安装(第二部:安装ssh服务)。

 

4.使用ssh服务
使用ssh服务跟使用ftp服务一样,推荐安装putty(一款远程登陆工具)来登陆本地主机。安装命令与第二步:安装ssh服务相同,只是把sshd换成putty即可。

安装putty完成后,使用以下命令远程登陆:

putty ip/hostname

其中ip/hostname为你的ssh主机的ip地址或者主机名

比如我的ip地址为192.168.1.103,那么我可以使用 putty 192.168.1.103来登陆我的主机。

 

5.卸载ssh服务
如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:

sudo yum remove sshd

如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:

sudo apt-get –purge remove sshd

然后就会提示卸载完成。

2.傻瓜式安装XShell
3.输入名称和linux的ip地址连接

  • 远程上传下载文件Xftp5
    Xftp5的配置和使用

  • List item

  • vi和vim
    1.vi是文本编辑器,vim是vi的增强版本。
    2.vi和vim的三种常见模式
    正常模式
    在正常模式下,可以使用快捷键
    插入模式
    按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可。
    命令行模式
    可以提供相关指令,完成读取、存盘、替换、离开vim、显示行号等动作。
    3.vim快捷键的使用
    拷贝当前行 yy,拷贝当前行向下5行 5yy
    粘贴 p
    删除当前行 dd,删除当前行向下的5行 5dd
    在文件中查找某个单词 命令行下/关键字,回车查找,输入n就是查找下一个
    设置文件的行号 命令行下 set nu
    取消文件的行号 命令行下 set nonu
    编辑/etc/profile文件,使用快捷键到底文件的最末行 G和最首行 gg(正常模式)
    在一个文件中输入 “hello”,然后又撤销这个动作 u(正常模式)
    编辑 /etc/profile文件,并将光标移动到第20行 20 shift+g

  • 开机、重启、用户注销
    1.shutdown
    shutdown -h now:表示现在关机
    shutdown -h 1:表示一分钟后关机
    shutdown -r now:表示立即重启

  • halt:关机
    3.reboot:重启系统
    4.sync:把内存数据同步到磁盘上,意思是我要关机了,把没保存的数据保存到磁盘上,关机之前,养成习惯同步,防止数据丢失。
    5.logout:在远程登陆有效

  • 用户管理
    1.添加用户

 useradd [选项] 用户名
 useradd -d 指定目录

2.指定/修改密码

passwd 用户名

3.删除用户

userdel 用户名 //保留家目录(工作中用)
userdel -r 用户名 //家目录同时删除

4.查询用户信息

id 用户名

5.切换用户

su - 切换用户名
exit //重新回到原来的用户
  • 用户组
    1.创建组
groupadd 组名

2.删除组

groupdel 组名

3.增加一个用户指定组

useradd -g 组名 用户名

4.改变用户在其他组

usermod -g 组名 用户名
  • 用户和组的配置文件
    1.用户(用户信息)配置文件
/etc/passwd

2.组(组信息)配置文件

/etc/group

3.口令配置文件(密码和登录信息,加密)

/etc.shadow
  • 运行级别
    1.有7个级别
    关机/单用户(找回丢失密码)/多用户无网络服务/多用户有网络服务/保留/图形界面/重启
    运行级别配置文件 /etc/inittab
    更改级别,打开文件
id:级别:initdefault

2.命令

init [123456]

3.面试题:如何找回丢失的密码
思路: 进入到 单用户模式,然后修改root密码。因为进入单用户模式,不需要root密码
总结
开机->在引导时 回车键->看到一个界面 输入e->输入e->这行最后 输入1->输入b ,进入单用户模式
->使用passwd指令来修改root密码

  • 帮助指令
    1.man 指令
man [命令或配置文件](功能描述:获得帮助信息)

2.help指令

help 命令
  • 文件目录类
    1.pwd(显示当前工作的绝对路径)
    2.ls [选项] [目录或文件]
    例如:
 ls
 ls -l
 ls -al

3.切换目录
问题:如何理解绝对路径和相对路径?
当前工作目录为/root,要切换到/home,有两种方法:

(1)绝对路径:cd /home
(2)相对路径:cd ../home
cd ~直接进家目录
cd ..回到当前目录的上一级目录

4.mkdir创建目录

mkdir [选项] 要创建的目录
eg: mkdir /home/dog
eg: mkdir -p /home/animal/cat //一次性创建多级目录

5.rmdir删除目录

rmdir [选项] 要创建的目录
eg: rmdir /home/dog //此时如果rmdir不是空目录是无法删除的
eg:rm -rf /home/dog //此时可以删除非空目录 

6.touch创建空文件

touch 文件名称1 文件名称2

7.cp拷贝文件

cp [选项] source dest
常用选项
-r: 递归复制整个文件夹
eg: cp a.txt bbb/ //将当前的a.txt文件拷贝到当前bbb的文件夹下
eg:cp -r test/ zwj/ //将当前test目录下的所有文件拷贝到当前目录zwj下
强制覆盖不提示的方法: \cp
eg:\cp -r test/ zwj/

8.rm移除文件或目录

rm [选项] 要删除的文件或目录
常用选项
-r: 递归删除整个文件夹
-f: 强制删除不提示
eg:
rm a.txt
rm -rf bbb/

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

eg: mv oldNameFile newNameFile //重命名
eg:mv pig.txt /root/ //移动

10.cat查看文件内容(只查看不浏览)

cat [选项] 要查看的文件
eg: cat /etc/profie
cat -n /etc/profile | more 显示行号并一点点显示(按空格键)

11.more

常用操作命令
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more

12.less 并不是一次将整个文件加载之后才显示,而是根据显示需要的加载内容,对于显示大型文件具有较高的效率。

less 文件名
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

13.>输出重定向和>>追加指令

ls -l >文件  //将列表内容覆盖文件内容
ls -al >>文件 //将列表内容追加到文件内容
cat 文件1 > 文件2 //将文件内容覆盖到另一个文件内容
eg: cat /etc/profile > c.txt
echo "内容" >>文件 //将“内容”追加到另一个文件内容

14.echo输出内容到控制台

echo [选项] [输出内容]
eg:echo $PATH

15.head用于显示文件的开头部分内容。默认情况下head指令显示文件的前10行内容

head 文件
head -n 5 文件

16.tail指令

tail用于输出文件尾部内容,默认情况下tail指令显示文件的后10行内容
tail 文件
tail -n 5 文件
tail -f 文件 (实时追踪该文档的所有更新,工作经常使用,注意时实时,如果有变化,就显示出来)

17.In指令
软链接也叫符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

ln -s [原文件或目录][软链接名] (功能描述:给原文创建一个软链接)
eg: ln -s /root linkToRoot
cd linkToRoot/

删除软连接

rm -rf linkToRoot 在删除软连接时不要带斜杠

18.history指令

history 查看已经执行的历史指令
eg:history 10 显示最近执行的10条指令
!178 //执行编号为178的指令
  • 时间日期类
 1.date
 2.date+%Y
 3.date+%m
 4.date+%d
 5.date+"%Y-%m-%d %H:%M:%S"

6.设置时间

 date -s 字符串时间
 eg: date -s "2020-11-11 11:22:22"

7.cal [选项]

 eg:cal
 eg:cal 2020
  • 搜索查找类
    1.find
 find [搜索范围] [选项]
 选项:
 -name<查询方式> eg: find /home -name hello.txt
 -user<用户名>eg: find /opt -user nobody
 -size<文件大小>eg: find / -size +20M (大于20M)/-20(小于20M)/20M(等于20M)

2.locate 快速定位文件路径,必须使用updatedb指令创建locate数据库

locate 搜索文件
eg: locate hello.txt

3.grep指令和管道符号|
管道符|表示将前一个命令的处理结果输出传递给后面的命令处理

grep [选项] 查找内容 源文件
-n //显示匹配行及行号
-i //忽略字母大小写
eg: cat hello.txt | grep -n yes
  • 压缩和解压类
    1.gzip/gunzip 指令
    gzip 用于压缩文件
    gunzip 用于解压缩文件
 gzip 文件 (压缩为*.gz) 文件1
 gunzip 文件.gz(解压缩) 文件1
 eg: gzip hello.txt
 eg: gunzip hello.txt.gz

2.zip/unzip指令

zip [选项]XXX.zip 将要压缩的内容
-r 递归压缩
unzip [选项]XXX.zip
-d<目录> :指定解压后文件的存放目录
eg: zip -r home.zip /home/ 将home的整个文件夹打包
eg: unzip -d /opt/tmp/ home.zip

3.tar指令
即可以压缩也可以解压

tar [选项] XXX.tar.gz 打包的内容(压缩后的文件格式.tar.gz)
-c 产生tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件
eg: tar -cvfz a.tar.gz /home/al.txt /home/a2.txt
eg: tar -cvfz myhome.tar.gz /home/ 对home整个打包
eg: tar -xzvf a.tar.gz //解压到当前目录
eg: tar -xzvf myhome.tar.gz -C /opt/  //前提目录事先要存在
  • 组管理和权限管理
    文件分为所有者、所在组、其他组、改变用户的所在组
    1.查看文件的所有者
 ls -ahl指令
 groupadd police
 useradd -g police tom
 passwd tom
 touch ok.txt
 ls -ahl

2.修改文件所有者

chown 用户名 文件名
eg: chown tom apple.txt //文件的所有者不一定在所在组 
chown -R 用户名 目录 //对该目录下的所有文件修改文件所有者权限

3.修改文件所在组

chgrp 组名 文件名
eg: chgrp police orange.txt
chgrp -R 组名 目录

4.改变文件所在组

usermod -g 组名 用户名
eg: groupadd bandit
    usermod -g bandit tom
    id tom //查看tom用户信息
  • 修改权限 -chmod
    1.第一种方式:+、-、=变更权限
 u:所有者
 g:所有组
 o:其他人
 a:所有人(u\g\o的总和)
 chmod u=rwx,g=rx,o=x 文件目录名
 chmod o+w 文件目录名 //给其他人增加一个写的权限
 chmod a-x 文件目录名

2.第二种方式:通过数字变更权限

r=4 w=2 x=1 rwx=7
 chmod u=rwx,g=rx,o=x 文件目录名
 相当于
 chmod 751 文件目录名
  • crond任务调度
crontab [选项]
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab 
  1. cron -e
    • /1 * * * * ls -l /etc >> /tmp/to.txt
      案例:
      每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中
      1)先编写一个文件 /home/mytask1.sh
      2)给mytask1.sh一个可执行权限 (只有可执行,系统才能调度它)
chmod 744 /home/mytask1.sh

3)crontab -e
4)*/1 * * * * /home/mytask1.sh
5)成功

  • 硬盘分区
    1.lsblk -f 指令查看当前系统的分区情况
    2.挂载案例
    如何增加一块硬盘
 1)虚拟机添加硬盘 虚拟机->设置->硬盘->...
 2)分区 fdisk /dev/sdb -> m -> n -> p ->1-4 -> w
 3)格式化 mkfs -t ext2/dev/sdb1
 4)挂载  先创建一个目录 ,挂载  mount /dev/sdb1 /home/newdisk (此时是临时挂载)
 5)设置可以自动挂载 vim /etc/fstab  
 编辑模式下加入
 /dev/sdb1                  /home/newdisk       ext4  defaults 0 0 
 命令行下 mount -a

如果想解挂 用umount 设备名称 或者 挂载目录

  • 磁盘情况查询
df -h
df -l
du -h /目录 //查询指定目录的磁盘占用情况
eg: du -ach --max-depth=1 /opt

案例:统计/home目录的文件数量

ls -l /home | grep "^-" | wc -l

案例:统计/home目录下的所有文件数量(包括子目录)

ls -lR /home | grep "^-" | wc -l
  • 网络配置
    1.自动连接
    网络连接->编辑->自动连接勾上
    2.指定固定的ip
第一步:vi /etc/sysconfig/network-scripts/ifcfg-eth0
改如下:
ONBOOT=yes
BOOTPROTO=static
IPADDR=你的静态地址
GATEWAY=你的电脑网关
DNS1跟网关一样
第二步:重启服务 service network restart
  • 进程管理
    1.显示系统执行的进程
ps -a //显示当前终端的所有进程信息
ps -u //以用户的格式显示进程信息
ps -x //显示后台进程运行的参数
ps -aux
eg: ps -aux | grep sshd

2.如果想看父进程

ps -ef | more
  • 终止进程kill和killall
kill [选项] 进程号
-9 表示强迫进程立即停止
eg:kill 4010 //踢掉非法用户
killall 进程名称(也支持通配符)
                                                                                                                                                                                                

3.查看进程树

pstree [选项]
-p //显示进程的PID
-u //显示进程的所属用户
  • 服务管理

service 服务名 [start | stop | restart | reload | status]
注意:centOS7.0 之后不再使用service,而是使用systemctl

eg:service iptables status //查看防火墙
eg:service iptables stop //关闭防火墙(临时生效)
eg:service iptables start //开启防火墙

2.检查某个端口是否在监听

talent ip 端口
  1. 查看服务名
方式1: 使用setup ->系统服务 就可以看到
方式2: /etc/init.d/服务名称

4.chkconfig指令

chkconfig --list
chkconfig --level 5 服务名 on/off
eg:chkconfig --level 5 sshd off 
  • 监控服务

1.动态监控进程

top [选项]
-d 秒数 指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行命令;
-i 使top不显示任何闲置或者僵死进程;
-p 通过指定监控进程ID来仅仅监控某个进程的状态。
P 以cpu使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top

案例1:监视特定用户

top 回车
输入 u 回车 输入用户名

案例2:终止指定的进程

top 回车
k 回车 再输入要结束的进程ID号

案例3:指定系统状态更新的时间

top -d 10
  • 监控网络状态
netstat [选项]
-an //按一定顺序排列输出
-p //显示哪个进程在调用

案例1:查看系统所有的网络服务

netstat -anp

案例2:查看某一服务

netstat -anp | grep sshd
  • rpm包的管理
    1.生成.RPM扩展名文件,类似于windows的setup.exe
    2.rpm包的简单查询
rpm -qa | grep xx
eg: rpm -qa | grep firefox //其中noarch表示通用
rpm -qi 安装包名 //查询安装的rpm包详细信息
rpm -ql 软件报名 //查询安装的rpm包路径
rpm -qf 文件 //查询某个文件属于哪个rpm包
  • 卸载软件包rpm
rpm -e RPM包的名称
  • 安装软件包rpm
rpm -ivh RPM包全路径名称
i = install
v = verbose 提示
h = hash 进度条
步骤
先找到firefox的安装rpm包,你需要挂载上我们安装centos的iso文件,然后到/media/下去找rpm,拷贝到opt目录下,
输入命令安装。
  • YUM
    1.yum是一款Shell前端软件管理包。基于PRM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖包。
yum list | grep xx软件列表
yum install xxx 下载安装
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值