新闻资讯

    转:

    Linux常用命令-基础部分

    Linux介绍

    Linux是一款开源的操作系统,免费,开源,安全,高效,处理高并发非常强悍,很多企业级开发项目都部署在Linux/UNIX上。

    创始人:Linus 林纳斯

    Linux吉祥物:企鹅------tux

    Linux主要发行版:

    、、、Suse、红旗Linux

    目前主要操作系统

    、、车载系统、MacOS、iOS、Linux、unix

    安装

    虚拟机的网络连接三种形式说明

    桥街模式

    好处:Linux可以和其他系统通信

    弊端:可能造成ip地址冲突

    NAT模式

    网络地址转换方式:Linux可以访问外网,不会造成ip地址冲突

    仅主机模式

    你的虚拟机是一个独立的主机,不能访问外网

    终端使用和联网

    终端

    点击鼠标右键,即可选择打开

    联网

    linux目录结构

    /根目录

    /opt 一些大型软件安装目录,或一些服务程序的安装目录

    /usr/local 自己安装软件的目录,相当于win的

    /etc 存放所有系统管理所需要的配置文件和子目录

    /dev 管理外部设备(硬件映射为文件)

    /lib 系统最基本的动态连接共享库类似于文件

    /lost+found 一般是空的,非法关机后 会出现一些文件

    /media 自动识别一些设备如U盘等,识别后会将设备挂载到这个目录

    /mnt 用户挂载别的文件系统,将光驱挂载上去,就可以在/mnt/上查看光驱文件内容了

    /proc 虚拟目录,系统内存的映射,访问这个目录来获取系统信息

    /sbin 系统管理员的系统管理程序

    /srv 服务器启动后需要重启的数据

    /sys 2.6内核很大的变化,安装了2.6内核中新出现的文件系统sysfs

    /tmp 临时文件

    /usr/bin 系统用户使用的应用程序

    /usr/sbin 超级用户数使用的比较高级的管理程序和系统守护程序

    usr/src 内核源代码默认放置目录

    /var 存放不断扩充的东西,习惯将经常被修改的目录放在这里,包括各种日志文件

    /bin 常用的指令

    /home 用户主目录(每个用户都会有自己的目录,一般以用户账号命名)

    /root 系统管理员 超级权限用户的主目录

    /boot 启动Linux的核心文件,包括一些连接文件和镜像文件

    /run 临时文件系统,存储系统启动以来的信息,重启时被删除或清除

    虚拟机的克隆

    如果 以及安装了一台Linux 操作系统,如果还需要更多,没必要重新安装,只需要克隆已有的就可以。

    方式一,直接拷贝一份安装好的虚拟机文件

    方式二,使用的克隆操作注意,克隆时,需要先关闭Linux操作系统

    虚拟机快照

    如果在使用虚拟机系统时(比如Linux),你想回到 原先的某一个状态,也就是说你担心可能有些误操作造成的系统异常,需要回到原先的某种正常运行的状态,也提供了这样一个功能,就叫快照管理。

    安装

    安装后,可以让我们在下更好的管理vm虚拟机

    可以设置和的共享文件夹

    安装过程:

    进入

    点击vm菜单虚拟机的 tools

    会出现一个vm的安装包,xx.tar.gz

    拷贝到/opt

    复制无法读源文件或盘_复制时无法读源文件_复制时无法读取源文件

    使用解压命令tar,得到一个安装文件

    cd /opt/

    tar -zxvf xx.tar.gz

    回车

    进入该vm解压目录,/opt目录下

    cd vm.....tools....../

    安装./-.pl

    全部使用默认设置即可,就可以安装成功

    注意:安装 需要有gcc

    vi和vim

    vi内建的 文本编辑器

    vim具有程序编辑功能,可以看作是增强版的vi

    三种常用的模式

    正常模式(常用模式,一般模式)

    以vim打开一个档案就直接进入了这一模式了,在这个模式中复制时无法读源文件,可以使用快捷键,可以使用上下左右按键来移动光标,可以使用删除字符和 删除整行来处理档案内容,也可以使用复制粘贴来处理文件数据

    插入模式(编辑模式)

    按下i,I,o,O,a,A,r,R可以进入,在这个模式下,可以编辑内容

    按:进入命令行模式

    命令行模式

    提供你的相关指令,完成读取、存盘、替换、离开、vim、显示行号等动作

    先按esc回到一般模式,在输入:,可进入命令行模式

    输入wq,保存退出

    q退出

    q! 强制退出且不保存

    快捷键练习:

    (一般模式下)拷贝当前行 yy;拷贝当前行向下的5行 5yy;粘贴(输入p);

    删除当前行 dd; 删除当前行向下的5行 5dd;

    在文件中查找某个单词[命令模式下输入/关键字,回车查找,输入n就是查找下一个]

    设置文件行号:[命令模式下输入:set nu和:set nonu]

    定位到文件的首行和末行[首行 gg 末行 G]

    文件中输入“Hello”,要撤销这个动作 在一般模式下输入 u;

    将光标移动到10行 先输入10 然后按shift+g

    磁盘分区挂载

    分区:

    1、 Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux中每个分区都是用来组成整个文件系统的一部分。

    2、 Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目 录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一 个目录下获得。

    (1) mbr分区:

    ①最多支持四个主分区

    ②系统只能安装在主分区

    ③扩展分区要占一个主分区

    ④MBR最大只支持2TB,但拥有最好的兼容性

    (2) gtp分区:

    ① 支持无限多个主分区(但操作系统可能限制,比如 下最多128个分区)

    ② 最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB )

    ③ 64位以后支持gtp

    1、 Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。

    2、 对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属 盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就 是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为 第二个IDE硬盘上的第二个主分区或扩展分区。

    3、 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余 则和IDE硬盘的表示方法一样。

    查看磁盘状态,命令:

    fdisk -l

    linux分区

    1、查看系统的分区和挂载情况 ,命令 :

    lsblk 或者 lsblk -f

    2、如何增加一块硬盘

    虚拟机添加硬盘

    2)分区

    分区命令

    fdisk /dev/sdb

    开始对/sdb分区

    • m 显示命令列表

    • p 显示磁盘分区 同 fdisk –l

    • n 新增分区

    • d 删除分区

    复制无法读源文件或盘_复制时无法读取源文件_复制时无法读源文件

    • w 写入并退出 说明: 开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩 余全部空间。最后输入w写入分区并退出,若不保存退出输入q。

    格式化

    格式化磁盘 分区命令:

    mkfs -t ext4 /dev/sdb1

    其中ext4是分区类型

    挂载

    挂载: 将一个分区与一个目录联系起来,

    • mount 设备名称 挂载目录

    • 例如: mount /dev/sdb1 /

    • 设备名称 或者 挂载目录

    • 例如: /dev/sdb1 或者 / 虚拟机增加硬盘步骤

    设置可以自动挂载 (永久挂载)

    通过修改/etc/fstab实现挂载 添加完成后 执行mount –a 即刻生效 • 用命令行挂载重启后会失效

    磁盘情况查询

    基本语法:

    df -hl

    2、把/dev/sdb1在/home/下的挂载给清除掉

    第一种方式: /dev/sdb1 /home/

    第二种方式:

    /home/

    3、查询指定目录的磁盘占用情况

    基本语法 du -h

    -s 指定目录大小汇总

    -h带计量单位

    -a 含文件

    --max-depth=1 子目录深度

    -c 列出明细的同时,增加汇总值

    统计/home文件夹下文件的个数

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

    ^是定位符 - 开头的是文件 wc是统计

    统计/home文件夹下目录的个数

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

    ^是定位符 d开头的是文件"^-" wc 是统计

    统计/home文件夹下包括子文件夹里的文件

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

    R是递归的扫描

    统计/home文件夹下包括子文件夹里的目录

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

    以树状形式显示目录结构

    tree

    此时发现tree指令不存在,我们可以通过yum指令去安装 即

    yum tree

    此时我们就可以运用tree指令去显示目录结构

    关机重启注销登录

    关机重启

    -h now 立刻进行关机

    -h 1 1分钟后关机

    -r now 现在重启计算机

    halt 关机

    现在重启计算机

    sync 把内存的数据同步到磁盘

    细节

    不管重启系统还是关闭系统,首先要执行sync命令,把内存数据写入到磁盘中

    目前//halt等命令已经在关机之前进行了sync,,但小心驶得万年船

    登录注销

    登录时尽量少用root账号登录,因为他是系统管理员,超级用户,最大权限,避免操作失误,可以利用普通用户登录,登录后在使用“su-用户名”命令来切换成系统管理员身份

    在提示符下输入即可注销用户

    注销指令在图形运行级别无效,在运行级别3下有效

    用户管理 运行级别 帮助指令

    linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

    基本语法

    添加用户 用户名

    设置密码 用户名

    复制时无法读取源文件_复制无法读源文件或盘_复制时无法读源文件

    回车

    输入密码

    确认密码

    当创建一个用户后,会自动的创建和用户同名的家目录

    每个用户都有自己的家目录,默认在 /home文件夹下

    也可以通过“ -d 指定目录 新的用户名”,给新创建的用户指定家目录

    删除用户 用户名

    删除用户,但保留家目录 用户名

    删除用户及家目录 -r 用户名

    查询用户信息指令 id 用户名

    切换用户 su - 用户名

    高权限用户切换到低权限用户不需要输入密码

    查看第一次登录到系统的用户信息 who am i

    用户组

    类似于角色,系统可以对有共性/相同权限的多个用户进行统一管理

    新增组 组名

    删除组 组名

    添加用户时直接加上组 -g 组名 用户名

    修改用户的组 -g 组名 用户名

    用户和组相关的文件

    /etc/文件

    用户的配置文件,记录用户的各种信息

    每行的含义:用户名:口令:用户标识号(uid):组标识号(gid):注释性描述:主目录(家目录):登录的Shell

    /etc/ 文件

    口令的配置文件

    每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

    /etc/group 文件

    组的配置文件,记录Linux包含的组的信息

    每行含义:组名:口令:组标识号:组内用户列表

    指定运行级别

    0:关机

    1:单用户【找回丢失密码】

    2:多用户状态没有网络服务

    3:多用户有网络服务

    4:系统未使用保留给用户

    5:图形界面

    6:系统重启

    常用运行级别是3和5,也可以指定默认运行级别

    切换运行级别命令: init 运行级别 (如:init 3 切换到运行级别3)

    查看当前运行级别: get-

    切换默认运行级别: set- 要切换的运行级别

    帮助指令

    man 获得帮助信息

    基本语法:man [命令或配置文件](功能描述:获得帮助信息)

    案例:查看ls命令的帮助信息 man ls

    获得内置命令的帮助信息

    文件目录类

    指令的选项可以同时使用如ls -la或ls -al

    pwd 显示当前绝对路径

    ls 查看当前路径下的文件

    -a显示当前目录所以文件和目录,包括隐藏的

    -l以列表的形式显示

    cd 绝对路径或相对路径(功能描述:切换到指定目录)

    cd ~ 或者cd 回到自己的家目录

    cd ..回到当前目录的上一级目录

    例: cd ../文件夹名 先回到上一级 ,在进入这个文件夹

    mkdir (路径/)目录名 用于创建目录

    -p 用于创建多级目录

    例: 创建在home目录下创建wang目录,并在wang目录下创建jie目录

    mkdir /home/wang/jie -p

    rmdir 目录名 删除空目录(如果目录下有内容是无法删除的)

    rm -rf (路径/)目录名 可删除目录下有内容的目录

    touch 文件名称 创建空文件

    复制时无法读源文件_复制时无法读取源文件_复制无法读源文件或盘

    例 touch hello.txt 创建一个hello.txt空文件

    touch 文件1 文件2 ........ 创建多个空文件

    cp 要拷贝的文件 拷贝到的指定目录 (拷贝文件到指定目录(cp 强制覆盖))

    -r 递归拷贝

    将/home/test/目录及目录下的所以文件拷贝到/home/z/目录下

    cp -r /home/test/ /home/z/

    rm 要删除的文件或目录 (删除目录或文件)

    -r 递归删除整个文件夹

    -f 强制删除不提示

    mv 参数1 参数2

    当mv命令中的第二个参数类型(目标)是文件时复制时无法读源文件,实现重命名源文件或目录的功能,记住这里源文件或目录只能有一个,因为如果有多个时,会存在命名冲突的问题 。

    当mv命令中的第二个参数类型(目标)是目录时,实现的是移动源文件和目录的功能,这里源文件或目录可以有多个,mv命令会将源文件或目录移动到目标目录下。

    -b 覆盖之前先备份

    -f 强制覆盖

    -i 覆盖时询问

    -u 当原文件是最新更新时,才可以覆盖目标文件

    -t 当有多个原文件时,使用这种方法。但目标文件在前,原文件在后 空格隔开

    cat 要查看的文件 查看文件内容

    -n 显示行号

    | more 分页显示

    空格 向下翻页

    Enter 向下一行

    q 立刻离开more

    Ctrl+F 向下滚动一屏

    Ctrl+B 返回上一屏

    = 输出当前行的行号

    :f 输出文件名和当前行的行号

    less 文件名 分页查看文件内容(比more强大,并不是将整个文件加载后显示,而是根据显示需要加载内容,对于大文件显示具有较高的效率)

    空格 下翻一页

    下翻一页

    上翻一页

    /字串 向下搜寻字串的内容;n:向下查找 N:向上查找

    ?字串 向上搜寻字串内容 n:向上查找 N:向下查找

    q 离开less

    输出重定向 >>追加

    没有目标文件便创建

    ls -l > 文件 列表的内容写入文件(覆盖写入)

    ls -l >> 文件 列表内容追加到文件末尾

    cat 文件1 > 文件2 将1的内容覆盖到2

    echo "内容" >> 文件 将""中内容追加到文件 (>时覆盖)

    cal >> 文件 将日历追加到文件(>覆盖)

    echo 输出内容到控制台

    echo $PATH 输出环境变量

    echo "内容" 输出内容

    head 文件 显示文件开头内容 默认显示文件前十行内容

    -n 5 显示前五行 5可以是任意数字 显示前任意行

    tail 文件 显示文案金尾部内容 默认显示后十行内容

    -n 5 显示后五行 5可以任意数 显示后任意行

    -f 实时追踪该文档所以更新 (经常使用)

    ln 软链接

    ln -s 要链接的目录 软链接名(路径没变 但内容指向到了要链接的目录)

    rm -rf 软连接名 删除软连接(软连接名后不要加/)

    使用pwd查看时 依然时软连接所在目录

    查看已经执行过的指令

    n 显示最近执行过的n个指令

    后输入 !n 将历史编号为n的指令执行一遍

    例: 3 显示最近执行过的3个指令

    搜索查找类

    find [搜索范围(路径)] [选项]

    -name 按照指定文件名查找

    find /home/ -name hello.txt(/home/下查找名为hello.txt的文件)(文件名改为*为查找全部)

    -user 按拥有着查询

    find /etc/ -user (拥有者用户名) (查找/etc/下拥有者为的文件)

    复制时无法读源文件_复制无法读源文件或盘_复制时无法读取源文件

    -size 按照大小查找

    find /home/ -size +20M (查找/home/下大于20m的文件 +n大于 -n小于 n等于)

    搜索的文件

    与 find 不同: find 是去硬盘找, 只在 /var/lib/ 资料库中找。

    的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib//.db 中,所以 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:

    先执行 创建数据库(默认情况下 每天执行一次。)

    (查找 文件)

    /etc/sh(搜索 etc 目录下所有以 sh 开头的文件)

    -i ~/r(忽略大小写搜索当前用户目录下所有以 r 开头的文件)

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

    grep 过滤查找(查找文件里符合条件的字符串)

    grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

    grep test *file (在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。)

    grep -r /etc/acpi (查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串""的文件,并打印出该字符串所在行的内容)

    grep -v test test(反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。查找文件名中包含 test 的文件中不包含test 的行)

    -a 或 --text : 不要忽略二进制的数据。

    -A 或 --after-= : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。

    -b 或 --byte- : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。

    -B或 ---=: 除了显示符合样式的那一行之外,并显示该行之前的内容。

    -c 或 --count : 计算符合样式的列数。

    -C或 --=或-: 除了显示符合样式的那一行之外,并显示该行之前后的内容。

    -d或 --=: 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

    -e或 --=: 指定字符串做为查找文件内容的样式。

    -E 或 --- : 将样式为延伸的正则表达式来使用。

    -f或 --file=: 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。

    -F 或 --fixed- : 将样式视为固定字符串的列表。

    -G 或 --basic- : 将样式视为普通的表示法来使用。

    -h 或 --no- : 在显示符合样式的那一行之前,不标示该行所属的文件名称。

    -H 或 --with- : 在显示符合样式的那一行之前,表示该行所属的文件名称。

    -i 或 ---case : 忽略字符大小写的差别。

    -l 或 --file-with- : 列出文件内容符合指定的样式的文件名称。

    -L 或 --files--match : 列出文件内容不符合指定的样式的文件名称。

    -n 或 --line- : 在显示符合样式的那一行之前,标示出该行的列数编号。

    -o 或 --only- : 只显示匹配 部分。

    -q 或 --quiet或-- : 不显示任何信息。

    -r 或 -- : 此参数的效果和指定"-d "参数相同。

    -s 或 --no- : 不显示错误信息。

    -v 或 ---match : 显示不包含匹配文本的所有行。

    -V 或 -- : 显示版本信息。

    -w 或 --word- : 只显示全字符合的列。

    -x --line- : 只显示全列符合的列。

    -y : 此参数的效果和指定"-i"参数相同。

    解压压缩类

    gzip 文件名 (压缩文件,只能将文件压缩为*.gz的文件)(压缩后不会保留源文件)

    文件.gz (解压缩文件命令)

    zip [选项] xxx.zip 将要压缩的文件或目录 (压缩文件和目录的命令)

    -r 递归压缩,即压缩目录

    unzip [选项] xxx.zip (解压缩文件)

    -d 要解压到的目录 (指定压缩后文件存放目录)

    tar指令 打包指令 (最后打包出来的文件是.tar.gz的文件)

    tar [选项] xxx.tar.gz 打包的内容 (打包目录,压缩后的文件格式为.tar.gz)

    要打包压缩多个问文件 文件之间用空格隔开

    -C 指定解压目录 (tar -zxvf 要解压的文件 -C 要解压到的目录)(要解压到的目录必须是存在的)

    -c 产生.tar打包文件

    -v 显示详细信息

    -f 指定压缩后的文件名

    -z 打包同时压缩

    -x 解压.tar文件

    时间日期类

    date 显示当前时间

    date +%Y 显示当前年份

    date +%m 显示当前月份

    date +%d 显示当前是那一天

    date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒

网站首页   |    关于我们   |    公司新闻   |    产品方案   |    用户案例   |    售后服务   |    合作伙伴   |    人才招聘   |   

地址:北京市海淀区    电话:010-     邮箱:@126.com

备案号:冀ICP备2024067069号-3 北京科技有限公司版权所有