Linux操作系统指令

Linux简介

                 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debianarchlinux,和基于商业开发的Red Hat Enterprise LinuxSUSEOracle Linux等。

 

 

操作系统介绍

         

  • 常见操作系统:Linux、Windows、Android、iOS

  • 内核:内核是与计算机中的硬件接口的最低级别的易于更换的软件。它负责将以“用户模式”运行的所有应用程序连接到物理硬件,并允许进程(称为服务器)使用进程间通信(IPC)从彼此获取信息

  • 发行版本:centOS 、 Ubuntu 、 ...

  • 解决命令行模式的乱码:LANG=en_US

 

目录结构

  1. bin(binary):存储二进制文件(被运行)

  2. Dev:存储外接设备

  3. Etc:存储配置文件

  4. Home:除了root用户以外其他用户的家目录

  5. proc(process):存储Linux运行时候的进程

  6. Root:root用户自己的家目录

  7. Sbin(super binary):存储一些执行的二进制文件,但是必须有super权限的用户才能执行

  8. Tem:存储“临时”文件

  9. Usr:存放用户自己安装的软件,类似:program files

  10. Var:存放程序/系统的日志的目录

  11. Mnt:当外接设备需要挂的时候,就需要挂到mnt目录下

Session

 

Mbps和MB/s换算

  • 1Byte=8bit

  • 1KByte=1024Byte

  • 1M=1024KByte

  • 1MB/s=8Mbps

  • 1Mbps=1024Kbps=1024/8KBps=128KB/s

关于路径

         

  • 相对路径:相对首先得有一个参照物(一般就是当前的工作路径) 有两种写法:"/"【表示当前目录】、"../“【表示上一级目录】

  • 绝对路径:绝对路径不需要参照物,直接从根"/"开始寻找对应路径

指令格式

  • #指令 【选项(多个)】【操作对象】

基础命令

          

  1. ls(list):列出当前工作目录下的所有文件/文件夹的名称

            #ls -l(表示list,以详细列表的形式进行展示) 路径 #ls -la(表示所有的文件/文件夹(包含了隐藏文件/文件夹)) 路径 #"-"表示该行对应的文档类型为文件,"d"表示文档类型为文件夹

            #ls -lh(列出指定的文件/文件夹的名称,以列表的形式并且显示文档大小的时候可读性较高的形式显示) 路径

            在Linux中隐藏文件一般都是以"."开头

  2. pwd(print working directory):打印当前工作目录

  3. cd(change directory):用于切换当前工作目录的

            "~":表示家的目录

  4. mkdir(make directory) 路径【可以是文件名称也可以是包含的一个完整路径】:创建目录

  5. ls列出的结果颜色说明:蓝色表示文件夹;黑色表示文件;绿色其权限拥有所有权限 #mkdir -p 路径:一次性创建多层不存在的目录 #mkdir 路径1 路径2 路径3:一次性创建多个目录

  6. touch 文件路径【可以是直接的文件也可以是路径】:创建文件

            #touch 文件1 文件2:可以同时创建多个文件

  7. cp(copy):复制文档/文件夹到指定的位置

            #cp 被复制文档的路径 文档被复制到的路径(新文件名可以重命名的) 当用cp来复制一个文件夹,选项要添加"-r【表示递归复制】",否则目录被略过 递归复制:就是将你要复制的文件夹及其里面的文件全部复制过去

  8. mv(move):移动文档到新的位置

            #mv 需要移动的文件路径 需要保存的位置路径

  9. rm(remove): 移除/删除文档

           #rm 选项 需要移除的文档路径

          选项:-f(force(强制)):强制删除 -r(递归)

          注意1:如果删除文件不想频繁的确认,添加选项”-f“

          注意2:删除文件夹选项添加”-rf“

          删除多个文档简写方法:rm -f xx*

          注意3:"*"表示通配符,意思表示任意的字符

  10. vim(是一款文本编辑器):打开一个文件

         #vim 文件路径

         退出打开文件:shift+冒号(英文) 输入q 按回车

  11. 输出重定向

              ">":覆盖输出,会覆盖掉原先的文件内容

              ">>":追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加

              #正常执行的命令 >/>> 文件路径

     注意:文件不存在,则新建

11、cat:直接打开一个文件路径

              #cat 文件路径

              #cat 待合并文件路径1 待合并文件路径2 ... > 合并文件之后新的路径

12、查看当前文件夹所有的文件:tree 目标文件夹路径

13、跳行:输入行数 + 大写G

14、行尾:大写A

15、多行取消注释:shift+':' normal d #(注释符号)

16、多行注释:shift+':' normal i #(注释符号)

17、复制多行:shift + 'V' y

18、粘贴多行:光标移动位置 p

    

 

进阶指令

           

  1. df:查看磁盘空间

    #df -h -h表示可读性较高的形式展示大小

  2. free: 查看内存使用情况

    #free -m -m表示以mb(兆位,兆字节)为单位查看

    swap:用于临时内存,当系统真实内存不够用的时候可以临时使用磁盘空间来充当内存

  3. head :查看一个文件的前n行,不指定,则默认显示前10行

    #head -n【表示数字】 文件路径

  4. tail:查看一个文件的末n行,不指定,则默认显示末10行

    #tail -n【表示数字】 文件路径

    #tail -ff(查看一个文件的动态变化) 文件路径

  5. less:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格+上下方向键)来查看更多

    #less 查看文件路径

  6. wc:统计文件内容信息(包含行数、单词数、字节数)

    #wc -lwc 文件路径

    -l 表示lines,行数

    -w 表示words,单词数

    -c 表示bytes,字节数

  7. date:表示操作时间日期(读取、设置)

    #date

    #date +%F (等价于#date "+%Y+%m+%d")

    #date "+%F %T"(等价于#date "+%Y-%m-%d %H:%M:%S")

    过去:#date -d "-1 day/year/month" "+%Y-%m-%d %H:%M:%S"

    未来:#date -d "+1 day/year/month" "+%Y-%m-%d %H:%M:%S"

    8、cal:用来操作日历的

          #cal 等价于 #cal -1

          #cal -3(前-本-后)

          #cal -y 年份

   9、clear/ctrl+l:清除当前终端的信息

  10、管道:| 一般用于”过滤“,”特殊“,”扩展处理“

          #ls/|grep y

          #cat 文件路径 | less(实现less等价效果)

         #ls / | wc -l(统计某个目录下的文档总个数)

高级命令

        

  1. hostname:操作服务器的主机名(读取)

    #hostname

    #hostname -f(FQDN 全限定域名)

  2. id:查看用户基本信息,不指定,则默认当前用户

    #id

    #id 用户名

    验证用户信息:cat etc/passwd

    验证用户组信息:cat etc/group

  3. who name:显示当前登录的用户名,一般用于sell脚本获取当前用户名,方便记录日志

    #whoname

  4. ps -aux:查看服务器进程信息

    #ps -aux 进程名称

    -e:等价”-A“,表示列出全部的进程

    -f:显示全部的列(显示全字段)

     

5、top:查看服务器占的资源

    #top

按下方便快捷键:

             M:按照内存(MEM)从高到低进行降序排列

             P:按照CPU使用率从高到低降序排列

             1:当服务器多个cpu,显示各个cpu详细信息

6、du -sh:查看目录真实大小

        #du -sh 目录路径

        -s:(summaries):只显示汇总大小

        -h:较高可读性形式进行显示

7、find:用于查找文件

        #find 路径范围 选项 选项值

        #find / -name 文件名称

        -name:按照文档名称搜索(支持模糊搜索)

        -type:按照文档类型搜索

        ”-“表示文件(使用find用f来替换),”d“表示文件夹

        #find / -name *.log(查找所有文件)

        #find /文件夹1/文件夹2/... -type f(查找一个目录的所有文件)

        #find /文件夹/ -type d(查找一个目录下的所有文件夹)

8、service:控制软件服务启动/停止/重启

        #service 服务名 start/stop/restart

9、kill:表示杀死进程

        #kill 进程PID

        #kill 进程名称

10、ifconfig:操作网卡相关的指令

        #ifconfig

11、reboot:重新启动计算机

        #reboot

        #reboot -w 模拟重启,但是不重启

12、shutdown:关机

        #shutdown -h now

        #shutdown -h 时间”关机提示“

        取消关机:#shutdown -c

13、uptime:输出计算机的持续时间(计算机到下载运行时间)

        #uptime

14、uname:获取操作系统的行信息

        #uname 获取类型

        #uname -a 全部信息

15、netstat -tnlp:查看网络连接信息

        -t 列出tcp协议连接

        -n :表示字母组合化成ip地址,将协议化成端口号来显示

        -l :表示过滤”state(状态)"列中值为LISTEN(监听)的连接

        -p:表示显示进程pid和进程名称

16、man(manual):手册(包含Linux全部指令)

        #man

附加题

  1. 如何通过命令重启Linux操作系统?

    #reboot

  2. 如何在命令行中快速删除光标前/后的内容?

    前:ctrl+u 后:ctrl+k

  3. 如何删除/tmp下所有的A开头的文件?

    #rm -f /root/tmp/A*

  4. 系统重要文件需要备份,如何把/etc/passwd备份到/tmp目录下?

    #cp /root/etc/passwd /root/tmp/

  5. 如何查看系统最后创建的3个用户?

    #tail -3 /root/etc/

  6. 什么目录统计当前系统中一共有多少账户?

    #wc -l

  7. 如何创建/tmp/test.conf文件?

    #touch test.conf

  8. 如何通过vim编辑打开/tmp/test.conf?

     #vim test.conf

  9. 如何查看/etc/passwd的头3行和尾3行?

    #head -3 /root/etc/passwd/

    #tail -3 /root/etc/passwd/

  10. 如何一次性创建目录/text/1/2/3/4?

    #mkdir -p /root/text/1/2/3/4/

  11. 如何最快的返回到当前账户的家目录?

    #cd ~

  12. 如何查看/etc所占的磁盘空间?

    #du -sh /root/etc/

  13. 如何删除/tmp下所有的文件?

    #rm -f /root/tmp/

  14. 尝试启动Apache的服务,并且检查是否启动成功。

    #service Apache start

  15. 使用已学命令杀死Apache的进程。

    #kill Apache

Vi 介绍

          在Unix及Linux系统的如何版本,vi编辑都是完全相同的,vi 也是Linux最基本的文本编辑器,尤其是在终端中

关于vim

        vi和vim都是Linux中的编辑器,vim比较高级,视为vi的升级版,vi使用于文本编辑,但是vim更适用于coding(写代码的)

vim三种模式

  • 命令模式:不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制列,移动光标,粘贴光标,粘贴等等)【打开文件之后进入模式】

  • 编辑模式:在改模式下可以对文件的内容进行编辑

  • 末行模式:可以在末行输入命令对文件进行操作【搜索、替换、保存、退出、撤销、高亮等等】

  • Vim打开文件方式:

         #vim 文件路径

         #vim +数字 文件路径

        #vim +/关键词 文件路径

        #vim 文件路径1 文件路径2 文件路径3

  • 重点:先复制一个/etc/passwd到当前家的目录

命令模式

  1. 光标移动到行首

    按键:shift+6

  2. 光标移动到行尾

    按键:shift+4

  3. 光标移动到首行

    按键:gg

  4. 光标移动到末行

    按键:G

  5. 翻屏

    向上翻屏:按键ctrl+b(before)/PgUp

    向下翻屏:按键ctrl+f(after)/PgDn

复制模式

  1. 复制光标所在行

    按键:yy

    粘贴:按下q键

  2. 以光标所在行为准(包括当前行),向下复制指定的行数

    按键:数字 yy

  3. 可视化复制

    按键:ctrl+v,如何按下方向箭头需要复制的区块,按下yy键进行复制,最后按下粘贴

剪切/删除

  1. 剪切/删除光标所在行

    按键:dd

    注意:dd严格意义是剪切

  2. 剪切/删除光标所在行为准,向下剪切/删除指定的行

    按键:数字 dd

  3. 剪切/删除光标所在当前行,但是删除之后下一行不上移

    按键:D

撤销/恢复

  1. 撤销:输入:u(undo)

  2. 恢复:ctrl+r

光标的快速移动

  1. 快速移动到指定行

    按键:数字 G

  2. 向上/向下移动n行

    按键: 数字 向上箭头 数字 向下箭头

  3. 向左/向右移动n行

    按键: 数字 向左箭头 数字 向右箭头

  4. 末行模式移动到指定的行

    按键:“:’”,输入行数数字,按下回车

模式间的切换

 

 

 

末行模式

  • 进入方式:命令式进入,按下“:”可进入

  • 退出方式:

                a:按下esc

                b:连接2次esc键

                c:删除末行全部输入字符

  1. 保存操作(write)

    输入:":w"

    输入:”:w 路径“

  2. 保存并退出:”wq“

  3. 强制(!)

    输入:”:ql“(不做保存)

  4. 调用外部命令

    输入:”:!外部命令“

  5. 搜索/查找

    输入:”/关键词“

    切换上/下一个结果:N/nset

    注:取消高亮 输入:”nohl“[no highlight]

  6. 替换

    :s/搜索关键词/新的内容 替换光标所在行的内容

    :s/搜索关键词/新的内容/g(替换光标所在全部符合条件的内容)

    :%s/搜索关键词/新的内容 替换整个文档中第一个符合条件的内容

    :%s/搜索关键词/新的内容/g 替换整个文档中的内容

    % 表示整个文件

    g 表示全局(global)

  7. 显示行号

    输入:”set nu“

    取消显示:”set nonu“

  8. 使用vim打开多个文件,在末行模式进行切换文件

    输入:”:files“

    %a :a=active,表示当前正在打开的文件

    %#:表示上一个打开的文件

    切换指定文件:”open group“

    切换下一个文件:”:bn“(back next)

    切换上一个文件:”:bp“(back prev)

编辑模式

 

 

 

 

实用功能

  1. 代码着色

    显示:”syntax on“

    关闭显示:”syntax off“

  2. vim计算器使用

    vim自身集成了一个简易的计算器

    按键:ctrl+R

扩展

Vim配置三种情况:

  • 在末行模式输入个人配置(临时)

  • 个人配置文件(~/vimrc,如果没有可以自行新建)

  • 全局配置文件(vim自带,/etc/vimrc)

    进入编辑-->输入文件配置信息

起别名机制

  • 依靠一个别名映射文件:~/.bashrc

  • #vim ~、。bashrc

  • 注意:创造命令生效,必须重新登录当前用户

退出方式

  • vim退出可以使用”q“或者”wq“,还支持一种退出方法”:x“

  • 注意1:文件未修改情况下,使用”:x“,文件修改时间不会被更新

  • 注意2:不要使用‘X”,”X“表示对文件进行加密操作

运行模式(运行级别)

  • 存在一个init(initialize,初始化),进程id是1

  • #ps -ef |grep init

  • 对应的配置文件,initab(系统运行级别配置文件)

  • 注意:init指令需要超级管理员的权限,普通用户无法执行

  • 相关几个命令:

  • #init 0 表示关机

  • #init 3 表示切换不带桌面模式(纯命令行模式)

  • #init 5 切换到图形界面

  • #init 6 重启电脑

  

用户与用户组管理(重点)

         /etc/passwd 存储用户的关键信息

 

  • /etc/group 存储用户组的关键信息

  • /etc/shadow 存储用户的密码信息

  1. 添加用户

    #useradd

    选项:

    -g:用户主组,选项可以是用户组id,也可以是组名

    -G:用户附加组,选项可以是用户组id,也可以是组名

    -u(uid):用户id(标识符)

    -c(comment):添加注释

  2. 创建用户

    #useradd 用户名 不带任何选项

  3. 指定附加组

    #useradd -g 500 -G 500 -u 666 用户名

    查看主组:passwd文件

    查看附加组:group文件

  4. 修改用户

    #usermod -l 新的用户名 旧的用户名

    选项:

    -g:用户主组,选项可以是用户组id,也可以是组名

    -G:用户附加组,选项可以是用户组id,也可以是组名

    -u(uid):用户id(标识符)

    -l:修改用户名

  5. 设置密码

    #passwd 用户名

    切换用户名

    #su(switch user) 用户名

    注意:普通用户没有办法访问root用户家目录,反之可以

  6. 删除用户

    #userdel(user delete) 选项 用户名

    选项:

    -r:表示删除家目录

  7. 用户组管理

    文件结构:用户组名:密码:用户组ID:组内用户名

    密码:X 表示占位符

    用户组添加

    #groupadd 选项 用户组名

    修改用户组ID和用户组名

    #groupmod -g 新的id -n[相当l]新用户组名 旧用户组名

网络设置

  • 配置文件位置:etc/sysconfig/network-scripts/

  • 网卡的配置文件命名格式:ifcfg-网卡名称

重启网卡

#service network restart

#etc/init.d/network restart

#ln -s 原始路径 快捷方式路径

停止某个网卡:#ifdown 网卡名

开启某个网卡名:#ifup 网卡名

 

ssh服务

  • ssh(secure shell,安全外壳协议)

  • 两个作用:远程连接协议,远程文件传输协议

  • 协议端口号默认22

  • 注意1:端口范围:0-65535

  • 注意2:不能使用服务已经占用的端口

  • 配置文件位置:etc/ssh/ssh_config

  • 服务启动/停止/重启

  • #service sshd start

  • #service sshd stop

  • #service sshd restart

  • 远程终端

    工具:Xshell、secureCRT、Putty

  • 获取IP地址

  • 在Putty输入IP连接

扩展 解包

        tar -zxvf *tar.gz

        tar -jxvf *tar.bz2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值