Linux基本使用学习笔记(2)

五、 Linux基本指令

5.1 Linux指令概述

Linux指令:在Linux终端(命令行)中输入的内容称之为指令。

完整的Linux指令标准格式:#指令主体 【选项】【操作对象】 其中#表示身份识别符,选项可以多个,操作对象也可以是多个

例如:去买一瓶水和一包纸

其中”买东西“是指令的主体,买的水和纸是操作的对象,买的水和纸的品牌是操作的选项。

5.2 常用基础指令

5.2.1 ls指令

ls(list),语法:

  • #ls 含义:列出当前工作路径下的所有文件和文件夹的名称

  • #ls 路径 含义:列出指定路径下的所有文件和文件夹的名称

  • #ls -l 路径 选项含义:表示以详细列表形式进行展示

  • #ls -la 路径 选项含义:表示显示所有的文件/文件夹(包含隐藏文件/文件夹)

第一个字母d表示文档文件,-表示文件

5.2.2 pwd指令

#pwd(print working directory) 打印当前工作目录

5.2.3 cd指令

#cd(change directory,改变目录)用于切换当前的工作目录

语法:#cd 路径 切换工作目录到指定路径

例如:

  1. 切换到usr下的local路径,使用绝对路径:#cd /usr/local

  2. 再从目录local切换到home下,可以使用绝对路径和相对路径:

    • 用相对路径,#cd ../../home/linux123

    • 用绝对路径,#cd /home

5.2.4 mkdir指令

#mkdir(make directory,创建目录),语法:

  • #mkdir 路径(可以是文件夹名称,也可以是一个完整的路径)

  • #mkdir -p 路径 ---路径中有不存在的目录名的时候,自动创建该目录

  • #mkdir 路径1 路径2 路径3 ----表示一次性创建多个目录

5.2.5 touch指令

#touch 作用是创建文件

语法:#touch 文件路径 --路径可以是直接的文件名也可以是路径,支持多个路径

5.2.6 cp指令

#cp,copy复制,作用是复制文件到指定的位置,语法:

  • #cp 被复制的文件路径 文件要被复制到的路径 ----复制文件

  • #cp -r 被复制的文件夹路径 文件夹要被复制到的路径 ------复制文件夹,-r表示递归

5.2.7 mv指令

#mv,move移动,移动文件到新的位置,语法与#cp类似

5.2.8 rm指令

#rm,remove移除、删除,移除/删除文件。

语法:#rm 选项 需要删除的文件/文件夹路径

选项:-f表示强制(force),不会询问是否删除,强制删除文件;-r表示递归;路径中可以使用*作为通配符。

5.2.8 vim指令(centos7用的是yvi)

#vim,可以看作是一个文本编辑器,用来打开文件。

语法:

  • #vim 文件的路径 ---打开一个文件,也可以是不存在的文件。

  • 退出打开的文件:在打开文件后,没有按下其他命令时,按下shift+英文冒号并输入q,按下回车即可。即:q+enter

5.2.9 输出重定向

将终端中显示的结果保存到文件中。

语法:

  • #正常的指令 > 文件的路径 ---表示覆盖输出,覆盖掉原文件内容

  • #正常的指令 > 文件的路径 ----表示追加输出,在原始文件末尾添加

  • 注意,文件不存在时自动新建文件

  • 例如 ls -la > test.txt --把当前路径下所有的文件名输出并保存到test.txt中

5.2.10 cat指令

用法1:查看文件,无法编辑。类似于vim但是无法编辑。

用法2:配合输出重定向合并文件, 语法:#cat 文件路径1 文件路径2 文件路径n > 合并后的文件路径

5.3 进阶指令

5.3.1 df指令

查看磁盘空间 -h 自动显示可读性高的形式展示大小

5.3.2 free指令

查看内存使用情况 -m 表示以mb为单位查看

其中真实可用内存为917mb。

Swap:用于临时内存,当系统真实内存不够用时可使用磁盘空间来充当内存。

5.3.3 head指令

查看一个文件前n行 如果n不指定,默认10行。

语法:#head -n 文件路径

5.3.4 tail指令

用法1:查看一个文件的末n行,如果n不指定,默认显示后10行。

语法:#tail -n 文件的路径 ------其中n为数字

用法2:查看一个文件的动态变化

语法:#tail -f 文件的路径 -----------变化的内容不能是用户手动添加的

5.3.5 less指令

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

语法:#less 文件路径

5.3.6 wc指令

统计文件内容信息(行数、单词数、字节数)

语法:#wc -lwc 需要统计的文件路径 -l表示lines,行数;-w表示words,单词数(空格区分单词);-c表示bytes,字节数。

5.3.7 date指令

Linux date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下:

时间方面:

  • % : 印出 %

  • %n : 下一行

  • %t : 跳格

  • %H : 小时(00..23)

  • %I : 小时(01..12)

  • %k : 小时(0..23)

  • %l : 小时(1..12)

  • %M : 分钟(00..59)

  • %p : 显示本地 AM 或 PM

  • %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

  • %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

  • %S : 秒(00..61)

  • %T : 直接显示时间 (24 小时制)

  • %X : 相当于 %H:%M:%S

  • %Z : 显示时区

日期方面:

  • %a : 星期几 (Sun..Sat)

  • %A : 星期几 (Sunday..Saturday)

  • %b : 月份 (Jan..Dec)

  • %B : 月份 (January..December)

  • %c : 直接显示日期与时间

  • %d : 日 (01..31)

  • %D : 直接显示日期 (mm/dd/yy)

  • %h : 同 %b

  • %j : 一年中的第几天 (001..366)

  • %m : 月份 (01..12)

  • %U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)

  • %w : 一周中的第几天 (0..6)

  • %W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)

  • %x : 直接显示日期 (mm/dd/yy)

  • %y : 年份的最后两位数字 (00.99)

  • %Y : 完整年份 (0000..9999)

语法:

date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

参数说明

  • -d datestr : 显示 datestr 中所设定的时间 (非系统时间)

  • --help : 显示辅助讯息

  • -s datestr : 将系统时间设为 datestr 中所设定的时间

  • -u : 显示目前的格林威治时间

  • --version : 显示版本编号

5.3.8 cal指令

用来操作日历

语法:

  • #cal 输出当前月份日历

  • #cal -1 输出当前月份日历

  • #cal -3 输出上月+本月+下月的日历

  • #cal -y 年份 输出x年的日历 -s选项,从周日开始,-m选项,从周一开始。

5.3.9 clear/ctrl +L指令

清除终端中已经存在的命令和信息。

语法:clear 或者 ctrl+L

需要注意的是并不是真正清除,而是隐藏到了最上方。

5.3.10 管道

管道符:|

作用:一般用于过滤、特殊、扩展处理等

语法:不能单独使用们需要配合其他指令。

例:输出目录下文件夹名称包含的“p”的文件夹名称 如果是文件和文件夹则不带/

image-20240227190046950

案例解析:'|'前面的命令有个输出结果,'|'后面的指令需要先输入,然后进行过滤,最后再输出。其中grep指令主要用于过滤。

通过上述解析可以得出:#cat 文件路径|less 等价于 #less 文件路径

问题:统计某个目录下的文件总个数?

答案:#ls /|wc -l 不包含子目录中的文件。

5.4 高级指令

5.4.1 id指令

Linux id命令用于显示用户的ID,以及所属群组的ID。

id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。语法:

id [-gGnru][--help][--version][用户名称]

参数说明

  • -g或--group  显示用户所属群组的ID。

  • -G或--groups  显示用户所属附加群组的ID。

  • -n或--name  显示用户,所属群组或附加群组的名称。

  • -r或--real  显示实际ID。

  • -u或--user  显示用户ID。

  • -help  显示帮助。

  • -version  显示版本信息。

5.4.2 whoami指令

Linux whoami命令用于显示自身用户名称。

显示自身的用户名称,本指令相当于执行"id -un"指令。语法:

whoami [--help][--version]

参数说明

  • --help  在线帮助。

  • --version  显示版本信息。

5.4.3 ps指令

Linux ps命令用于显示当前进程 (process) 的状态。语法:

ps [options] [--help]

参数

  • ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

  • -A 列出所有的进程

  • -e 列出所有的进程

  • -w 显示加宽可以显示较多的资讯

  • -au 显示较详细的资讯

  • -aux 显示所有包含其他使用者的行程

  • au(x) 输出格式 :

  • USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  • USER: 行程拥有者

  • PID: pid

  • %CPU: 占用的 CPU 使用率

  • %MEM: 占用的记忆体使用率

  • VSZ: 占用的虚拟记忆体大小

  • RSS: 占用的记忆体大小

  • TTY: 终端的次要装置号码 (minor device number of tty)

  • STAT: 该行程的状态:

  • D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)

  • R: 正在执行中

  • S: 静止状态

  • T: 暂停执行

  • Z: 不存在但暂时无法消除

  • W: 没有足够的记忆体分页可分配

  • <: 高优先序的行程

  • N: 低优先序的行程

  • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

  • START: 行程开始时间

  • TIME: 执行的时间

  • COMMAND:所执行的指令

5.4.4 top指令

Linux top命令用于实时显示 process 的动态。

使用权限:所有使用者。

语法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明

  • d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s

  • q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行

  • c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来

  • s : 安全模式,将交谈式指令取消, 避免潜在的危机

  • i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程

  • n : 更新的次数,完成后将会退出 top

  • b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内

5.4.5 du指令

Linux du命令用于显示目录或文件的大小。

du会显示指定的目录或文件所占用的磁盘空间。

语法

du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]

参数说明

  • -a或-all 显示目录中个别文件的大小。

  • -b或-bytes 显示目录或文件大小时,以byte为单位。

  • -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

  • -D或--dereference-args 显示指定符号连接的源文件大小。

  • -h或--human-readable 以K,M,G为单位,提高信息的可读性。

  • -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。

  • -k或--kilobytes 以1024 bytes为单位。

  • -l或--count-links 重复计算硬件连接的文件。

  • -L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。

  • -m或--megabytes 以1MB为单位。

  • -s或--summarize 仅显示总计。

  • -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。

  • -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

  • -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。

  • --exclude=<目录或文件> 略过指定的目录或文件。

  • --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。

  • --help 显示帮助。

  • --version 显示版本信息。

5.4.6 find指令

Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

语法

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} ;

参数说明 :

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去 n 天过读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去 n 天过修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

  • d: 目录

  • c: 字型装置文件

  • b: 区块装置文件

  • p: 具名贮列

  • f: 一般文件

  • l: 符号连结

  • s: socket

  • -pid n : process id 是 n 的文件

  • 你可以使用 ( ) 将运算式分隔,并使用下列运算。

  • exp1 -and exp2

  • ! expr

  • -not expr

  • exp1 -or exp2

  • exp1, exp2

5.4.7 service指令

用于控制一些软件的服务启动/停止/重启

语法:#service 服务名 start/stop/restart

centos7语法:#systemctl start 服务名

5.4.8 kill指令

Linux kill命令用于删除执行中的程序或工作。

kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看。

语法

kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

参数说明

  • -l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。

  • -s <信息名称或编号>  指定要送出的信息。

  • [程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。

5.4.9 ifconfig指令

Linux ifconfig命令用于显示或设置网络设备。

ifconfig可设置网络设备的状态,或是显示目前的设置。

语法

ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明

  • add<地址> 设置网络设备IPv6的IP地址。

  • del<地址> 删除网络设备IPv6的IP地址。

  • down 关闭指定的网络设备。

  • <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。

  • io_addr<I/O地址> 设置网络设备的I/O地址。

  • irq<IRQ地址> 设置网络设备的IRQ。

  • media<网络媒介类型> 设置网络设备的媒介类型。

  • mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。

  • metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。

  • mtu<字节> 设置网络设备的MTU。

  • netmask<子网掩码> 设置网络设备的子网掩码。

  • tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。

  • up 启动指定的网络设备。

  • -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。

  • -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。

  • -promisc 关闭或启动指定网络设备的promiscuous模式。

  • [IP地址] 指定网络设备的IP地址。

  • [网络设备] 指定网络设备的名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值