linux常用指令集列表(持续更新):
cd ls pwd su du rm cp mv > >> | sort find cat more less top ps free df wget uname grep tar kill wc chmod chown adduser mkdir touch crontab date type/which reboot halt shutdown split diff mount umount fdisk passwd ssh scp rcp sync rsync samba ifconfig netstat ping man sleep alias sed ulimit clear uniq awk ftp samba head/tail curl ln sudo export cut
cd 切换目录
常用参数:
~ 回到用户主目录
.. 返回上级目录
ls 列表方式查看指定目录下的文件和文件夹
常用参数:
-l list,列出指定目录下的所以文件和文件夹
-t time,按时间排列
-a all,包括隐藏文件,隐藏文件前带.
pwd 查看当前所在目录位置
su 切换登录用户
用法: su [username]
du 显示目录或文件的大小,占用磁盘空间
使用方式:
du [options] [目录或文件]
常用参数:
-h或--human-readable 以K,M,G为单位,提高信息的可读性
-s或--summarize 仅显示总计
rm 删除文件和目录
使用方式:
rm [options] source..
常用参数:
-r 递归删除目录和文件,强制删除
-f force不论文件是否存在,不用提示
cp 复制文件
使用方式:
cp [options] source dest(目的对象)
cp [options] source.. directory
cp aaa bbb 复制aaa并更名为bbb
常用参数:
-r 递归拷贝文件夹里的内容
-f 如果目标文件夹有同名文件,先删除再拷贝
mv 移动文件,文件重命名,剪切文件
使用方式:
mv [options] source dest
mv [options] source.. directory
mv aaa bbb aaa重命名为bbb
> 和 >> 重定向
> 把标准输出写入到指定文件,从文件头开始,会覆盖原文件
>> 把标准输出写入到指定文件,从文件尾开始,追加到原文件之后
| 管道,导流,把标准输出导入到标准输入
使用方式:
ps aux | grep mysql >>a.log
sort 对文本文件内容排序,以行为单位
使用方式:
sort [options][文件]
常用参数:
-m或--merge 合并
-r或--reverse 反序排列
-u或--unique 去重
-n 按数值排序
-k 按指定列排序
-t 指定列分隔符
eg: sort -n -t "/" -k 3 filea 文件以/分割的第3列按数值排序
-b 忽略每行前面的空白部分,从第一个可见字符开始比较
find 在目录层级里查找文件和内容,可以指定名称、类别、时间、大小、权限等组合,只有完全相符的才会被列出来
使用方式:
find expression(表达式)
find . -type f 表示查找当前目录及其子目录下类型是f的档案 ( . 表示当前目录)
常用参数:
-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 会忽略大小写
-type f 类型是f的档案
-name filename 名称是filename的档案
-size n 大小是n单位的档案,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组
cat 把文件内容串连后传到标准输出
使用方式:
cat file1 file2 >>file3 把文件1 2内容追加到3中
常用参数:
-n或--number 由 1 开始对所有输出的行数编号
-b或--number-nonblank 和 -n 相似,只不过对于空白行不编号
-s或--squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
more 类似cat,会逐页显示方便阅读,按空白键pagedown,按b(back)键pageup,而且还有搜寻字串的功能(与vi相似)
less 与 more 相似,允许使用者往回卷动以浏览已经看过的部份
主要参数:
-p 回到file第一行
-b 前一页 pageup
-backspace 下一页 pagedown
top 任务管理器,实时显示进程状态,cpu使用情况等
ps 显示瞬时进程的动态,内容与top差不多.
包括:pid,user,%cpu(cpu使用率),%mem(内存使用率),VSZ(虚拟内存占用大小),stat(状态),start(启用时间),time(执行时间),command(所执行的指令)
主要参数:
-aux 显示所有包含其他使用者的行程
free 查看内存状态
使用方式:
free [options]
常用参数:
-m 以MB为单位显示内存使用情况
-t 显示内存总和 total 行
df 查看磁盘使用情况
-a --all 包含所有的具有 0 Blocks 的档案系统
-h --human-readable 使用人类可读的格式
wget 从指定url下载内容
wget [options] url
uname 查看linux系统的版本信息
常用参数:
-a 显示所有信息
grep 搜索file中与keyword匹配的所有行并打印
使用方式:
grep [options] keyword filename
tar 压缩和解压缩文件
使用方式:
tar [options] filename
常用参数:
-c或--create 建立新的备份文件
-f<备份文件>或--file=<备份文件> 指定备份文件
-v或--verbose 显示指令执行过程
-x或--extract或--get 从备份文件中还原文件
-z或--gzip或--ungzip 通过gzip指令处理备份文件
kill 发送信号给pid,告诉pid要做什么
使用方式:
kill [options] pid/command
常用参数:
-s(signal) 其中可用的讯号有 HUP(1),KILL(9),TERM(15), 分别代表著重跑,砍掉,结束,eg: kill -9 mysql 即终止mysql进程
-l(signal) 列出所有可用的信号名称
wc 统计文件的Byte数、字数、或是行数
使用方式:
wc [options] filename
常用参数:
-c或--chars 统计Bytes数。
-l或--lines 统计行数。
-w或--words 统计字数。
chmod 修改用户对文件的读写和可执行权限
使用方式:
chmod [options] file
u 表示ownerUser, g 表示同组group, o other表示其他用户, a 表示all
+ 表示增加权限, - 表示取消权限, = 表示唯一设定权限
r 表示可读, w 表示可写, x 表示可执行, X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5
eg:chmod +x file 设置file为可执行文件
chmod 754 file 设置owner可读写执行,group可读可执行,other可读
chmod u+rwx,g+rx,o+w file 增加owner可读写执行权限,增加group读执行权限,增加other写权限
chown 改变文件的所有者,该命令只有root用户才能使用
使用方式:
chown [options] username file
username 文件的新所有者
-R 递归变更文件夹和子目录下的文件所有者
adduser 添加用户
用法: adduser -gid 1000 --home /home/username username
-gid 组id,如果不指定组,则会新建一个组
--home 用户主目录,不指定会默认在/home下创建
addgroup 添加组
mkdir 新建文件夹
使用方式:
mkdir [options] file
常用参数:
-p (parent)目录不存在,则建一个
eg:mkdir qq/aa 如果qq目录不存在,则会报错
mkdir -p qq/aa 如果qq目录不存在,则会新建一个qq目录
touch 改变文件的时间记录,新建文件
使用方式:
touch [options] file
touch filename 新建文件filename
crontab 设置定时任务,linux系统中作为工作时程表任务
时程表的格式如下: f1 f2 f3 f4 f5 program
其中分别对应 : 分钟 小时 日期 月份 星期 可执行程序
当 fn 的位置是 * 表示所有时间都要执行
eg: 0 * * * * /bin/ls 每月每天每小时0分钟的时候执行一次 /bin/ls
30 17 * * 1-5 /bin/ls 每周1-周5下午5点30分执行一次 /bin/ls
0 6-12/3 * 1 * /bin/ls 1月份的每天6点-12点每隔20分钟执行一次 /bin/ls
5,15,25 * * * * /bin/ls 每到1分,15分,25分钟的时候执行一次 /bin/ls
常用参数:
-u 指定时程表用户,一般root权限使用,普通用户只能给自己设置时程表,不指定-u时默认是当前用户
-l 列出所有时程表
-e 编辑时程表文件,保存退出后,系统将自动重启时程表任务
-r 删除时程表任务
使用方式:
$ vi cronfile #先建立cronfile
$ chmod +x cronfile #把cronfile设为可执行文件
$ crontab cronfile #启用cronfile文件,系统就会自动定时执行.
date 可以用来显示或设定系统的日期与时间
显示时间的格式:
%D : 直接显示日期 (mm/dd/yy) eg: date +%D 结果是: 05/20/13
%T : 直接显示时间 (24 小时制) eg: date +%T 结果是: 12:30:26
%X : 相当于 %H:%M:%S eg: date +%X 结果是: 01:10:23 PM
设置时间的格式:
MMDDhhmm[[CC]YY][.ss] 其中 MM 为月份, DD 为日, hh 为小时, mm 为分钟, CC 为年份前两位数字, YY 为年份后两位数字, ss 为秒数.
只有root权限才能设置系统时间,更改了系统时间之后,以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值
常用参数:
-d datestr : 显示 datestr 中所设定的时间 (非系统时间)
-s datestr : 将系统时间设为 datestr 中所设定的时间
-u : 显示目前的格林威治时间
$ sudo date -s '05/22 12:50 (20 13) (.40)'
结果显示系统时间设置为: Wed May 22 12:50:00 CST 2013
type 查找软件在系统中的位置,与which类似
使用方法:
type mysql #查找mysql可执行软件的位置
结果是: mysql is /usr/bin/mysql
reboot 若系统的 runlevel 为 0 或 6 则重启系统,否则唤醒 shutdown (-r)
参数:
-n : 在重开机前不做将记忆体资料写回硬盘的动作
-d : 不把记录写到 /var/log/wtmp 档案里(-n 包含了 -d)
-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
-f : force,强迫重开机,不呼叫 shutdown 这个指令
-i : 在重开机之前先把所有网络相关的装置先停止
/var/run/utmp 当前的 runlevel 信息从此文件中读取
/var/log/wtmp 新的 runlevel 信息记录将追加到此文件
halt 若系统的 runlevel 为 0 或 6 则关闭系统,否则唤醒 shutdown (-h)
参数:
-n : 在关机前不做将记忆体资料写回硬盘的动作
-d : 不把记录写到 /var/log/wtmp 档案里(-n 包含了 -d)
-w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
-f : force,强迫关机,不呼叫 shutdown 指令
-i : 在关机之前先把所有网络相关的装置先停止
-p : 当关机的时候,顺便做关闭电源(poweroff)的动作
shutdown 执行关机程序,并且在关机前传送讯息给所有使用者,关机前5分钟内拒绝用户登录,shutdown 也可以用来重开机(reboot),这是一种安全的关机模式.
使用方式:
shutdown [options] time [message]
参数 :
-r : 关机并重启系统(reboot)
-h : 关机后切断电源(halt or poweroff)
-c : 取消目前已经进行中的关机动作
-k : 并不会真的关机,只是将警告讯息传送给所有使用者
-t seconds : 设定在几秒钟之后进行关机程序
-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-f : 关机时,不做 fcsk 动作(检查 Linux 档系统)
-F : 关机时,强迫进行 fsck 动作
time : 设定关机的时间,[now],立即关机,[+m],eg:+10 10分钟, hh:mm 24小时制的时分
message : 传送给所有使用者的警告讯息
/var/run/utmp 当前的 runlevel 信息从此文件中读取,环境变量
/var/log/wtmp 新的 runlevel 信息记录将追加到此文件
特别说明,我试了-c参数,无法生效
$ shutdown +10 #设置10分钟之后关机
然后系统开始计时并且发送message给用户,用户无法进入命令行模式,所以-c参数派不上用场
split 拆分文件,拆分后文件名首字母默认为x,默认后缀为2个字母,依次为aa,ab... eg: xaa,xab...
常用参数:
-l 按行分割
-b 按大小分割 M K
-a --suffix-length=N 指定输出文件名的后缀,默认为2个
diff 比较文件的差异,逐行比较文本文件的异同处.指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录
使用方式:
diff [options] [文件或目录1][文件或目录2]
常用参数:
-<行数> 指定要显示多少行的文本.须与-c或-u一起使用
-c context,显示全部内容,并标出不同之处
-d 使用不同的演算法,以较小的单位来做比较
-H 比较大文件时,可加快速度
-p 比较C语言的程序文件时,显示差异所在的函数名称
-q 仅显示有无差异,不显示详细的信息
-r 比较子目录中的文件
-y 以并列的方式显示文件的异同之处
-u 以合并的方式来显示文件内容的不同
mount 挂载
使用方式:
mount -t type device dir
eg: mount --bind olddir newdir 两处都挂载
mount --move olddir newdir 移到newdir
常用参数:
-a 将 /etc/fstab 中所有东西都挂上。
-F 通常与 -a 一起使用,它会为每一个 mount 的动作产生一个进程负责执行.在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作
-v verbose 显示详细过程
-f fake 通常用来除错,它并不执行实际挂上动作,而是模拟整个挂上动作,常与 -v 一起使用.
-t 指定文件类型,通常不必指定.mount 会自动选择正确的类型
-o ro 用唯读模式挂上
-o rw 用读写模式挂上
-B, --bind 重新绑定子树到其他地方
-R, --rbind 重新绑定子树到其他地方,包括子子树,递归方式绑定
-M, --move 重新绑,到别的地方
现有type包括:
adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfsplus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4,ntfs, proc, qnx4, ramfs, reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs.
umount 卸载目前挂在Linux目录中的文件系统
-t 卸除指定的文件系统
-a 卸除/etc/mtab中记录的所有文件系统
-r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统
fdisk 查看硬盘的情况,磁盘分区
使用方式:
$ fdisk -l /dev/sda #查看磁盘分配情况
$ fdisk /dev/sda #进入磁盘分区模式
:m 显示所有命令列示
:p 显示硬盘分割情形
:a 设定硬盘启动区
:n 设定新的硬盘分割区
e 硬盘为扩展分割区(extend)
p 硬盘为主要分割区(primary)
:t 改变硬盘分割区属性
:d 删除硬盘分割区属性
:q 结束不保存硬盘分割区属性
:w 结束并写入硬盘分割区属性
分区完成之后要先格式化分区
mkfsext3 分区名 将分区格式化ext3格式
mkfs -t 类型 分区名 将分区格式化为指定格式
mkswap 分区名 将分区格式化为swap格式
然后挂载分区到某目录下,这样才可以开始使用该分区
mount device dir
umount 卸载
或者在 /etc/fstab 文件里设置自动挂载
另外,添加交换分区
fdisk /dev/sdb
参数:n t l w
swapon/swapoff 分区名 打开和关闭交换分区
free 查看内存或交换分区使用情况
passwd 修改密码
使用方式:
passwd [username] 回车后输入当前密码,然后输入新密码
ssh 远程客户端登陆
使用方式:
ssh [options] [user]@hostname [command]
scp 远程拷贝,通过ssh方式的安全加密方式
使用方式:
scp [options] user@host1:file1 ... user@host2:file2
常用参数:
-1 scp只能用协议1
-2 scp只能用协议2
-3 两个远程主机之间的数据传输都经过本地主机.如果没有这个选项,数据传输是直接在两个主机之间进行.需要注意的是,这个选项不显示进度.
-4 scp只能用ipv4地址
-6 scp只能用ipv6地址
-B 批量模式,需要密码口令
-C 压缩Compression
-c cipher密码,encrypting加密传输数据
-p 保留源文件属性
-r 递归复制
-v 显示详细进度
$ scp -v cxz@192.168.1.105:/desktop/filename cxz@192.168.1.102:/tep/
rcp 远程拷贝
-p 保留源文件属性
-r 递归拷贝
sync 把缓存中的文件写入/同步到磁盘中
rsync 远程拷贝/同步文件
rsync -v -P -e ssh user@ip: ~/file ./
samba windows系统和linux系统之间共享文件的服务器,需要安装
参数:
start 启动Samba服务器的服务
stop 停止Samba服务器的服务
status 显示Samba服务器目前的状态
restart 重启Samba服务器
ifconfig 设置网络设备的状态,显示目前的设置,包括硬件地址,ip,广播,掩码,ipv6地址等
netstat 显示linux系统的网络状态
使用方式:
netstat [-vWeenNcCF] [<Af>] -r
netstat [-vWnNcaeol] [<Socket> ...]
netstat [-vWeenNac] -i | [-cWnNe] -M | -s
参数:
-r --route 显示路由配置信息表
-i --interfaces 显示接口信息表
-g --groups 显示多点光播组成员
-s --statistics 显示网络工作信息统计表(类似SNMP)
-M --masquerade 显示伪装的网络连接
-v --verbose 显示详细信息
-W --wide 不 truncate IP地址
-n --numeric 不解析名字(直接使用IP地址,而不通过域名服务器)
-N --symbolic 显示网络硬件外围设备的符号连接名称
-e --extend 显示网络其他相关信息
-p --programs 显示正在使用Socket的程序的PID和name
-c --continuous 持续列出网络状态
-l, --listening 显示监听中的服务器的Socket
-a, --all 显示所有连接中的sockets
-o, --timers 显示计时器
-F, --fib 显示转发信息
-C, --cache 显示路由缓存信息而不是转发信息FIB
-t --tcp
-u --udp
-w --raw
-x --unix
ping 使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常
ICMP (internet control message protocol) 报文控制协议
使用方式:
ping [options] [主机名称或IP地址]
参数:
-f 极限检测
-R 显示路由过程
-v 显示详细指令的执行过程
man 在线帮助手册
使用方式:
man command 显示详细的帮助信息
其他帮助方式:
command --help 显示主要的参数信息
sleep 延迟动作
number 时间长度,后面可接 s秒、m分、h时 或 d日
eg: sleep 1m 等待1分钟
alias 设置指令的别名
使用方式:
alias[别名]=['指令名称']
若不加任何参数,则列出目前所有的别名设置
sed 利用script的指令,来处理、编辑文本文件
-e<script> 以指定的script来处理输入的文本文件
-f<script文件> 以指定的script文件来处理输入的文本文件
-n --quiet --silent 仅显示script处理后的结果
ulimit 控制shell程序的资源,shell内建指令
-a 显示目前资源限制的设定
clear 清除屏幕
uniq 去重,检查及删除文本文件中重复出现的行列
使用方式:
uniq [options] [输入文件] [输出文件]
参数:
-c 显示每行重复出现的次数
-d 仅显示重复出现的行
-u 去重
-f<field> 忽略指定区域
-s<char> 忽略指定字符
-w<n> 指定要比较的字符数n
awk 处理文本和数据的程序语言,比sed和grep强大之处在于可以方便的处理列数据
awk是 pattern(模型,样品,规则) {action}{操作} 序列对,也可以自定义函数.
小程序可以直接在命令行输入,用单引号('')包起来,避免被shell解释.
大程序可以用-f调用程序文件.输入数据可以从文件列表读取,也可以从标准输出读取.输入数据被变量 RS 切分为一条条的记录,默认 RS='\n' ,即一行为一条记录.每条记录与pattern进行比较,匹配则执行{action}.
参数:
-F 设置分隔符,FS,eg:空格,t(tab),%,&,:等
-f 调用程序文件
-v 分配变量的值,var=value
-- 操作结束符
内置变量: (使用内置变量时不需要引号)
ARGC 命令行参数个数(不包括awk的选项和awk的程序内容)
ARGIND 当前正在处理的ARGV中的文件的索引值(同时处理多个文件时会用到)
ARGV 命令行参数序列数组,下标从0开始
CONVFMT 数字转换格式,和C语言中的数字输出格式化类似,默认为"%.6g"
ENVIRON 当前系统的环境变量
ERRNO 出错时的错误信息
FIELDWIDTHS 以空格分隔的字段宽度,如果指定此变量,awk将会用指定的宽度替换变量FS指定的分隔符
FILENAME 当前正在处理的文件名,该变量不能在BEGIN块中使用
FNR 当前处理的记录号
FS 字段的分隔符,默认为空格
IGNORECASE 如果该变量设置为非0值,在进行字符串匹配时忽略大小写
NF 当前记录中的字段个数
NR 已经读出的记录数
OFMT 数字的输出格式
OFS 输出的字段分隔符,默认为空格
ORS 输出的记录分隔符,默认为新行
RS 输入记录的分隔符,默认为新行
RSTART 被match()函数匹配的字符串的起始位置,如果没有匹配则为0(从1开始)
RLENGTH 被match()函数匹配的字符串的长度
SUBSEP 数组中多个下标的分隔符,默认为"\034"
eg:
awk '{pattern}{active}' file
awk -F / '{print $2}' file 打印文件以/分割的第2列
$n 表示第n列,$0表示整行
ftp 标准文件传输协议,用户与远程站点之间进行文件传输
使用方式:
ftp [options] [host:port]
-4 ipv4
-6 ipv6
-v 显示远程服务器的指令执行过程,包括数据传输和统计
-d 详细显示指令执行过程,便于排错或分析程序执行的情形,调试用
samba windows系统和linux系统之间共享文件的服务器,需要安装
start 启动Samba服务器的服务
stop 停止Samba服务器的服务
status 显示Samba服务器目前的状态
restart 重启Samba服务器
head/tail 读取文本文件的最前/后10行
head -20 file 读取文件的前20行
tail -20 file 读取文件的后20行
tail -f file 实时刷新文件,一般用于查看日志文件
curl 下载url中的数据
curl是一个工具来与服务器传递数据,使用一个支持的协议(DICT类型, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP,IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS,TELNET and TFTP).curl无需与用户进行交互.
curl提供一车有用的技巧,如代理支持,用户身份验证,FTP上传,HTTP post,SSL连接,cookie,文件传输摘要等等
curl [options] [URL...]
ln 在文件之间建立连接
Linux/Unix 文件系统中,有所谓的连结(link),我们可以将其视为文件的别名,而连结又可分为两种:硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个文件可以有多个名称,而软连结的方式则是产生一个特殊的文件,该文件的内容是指向另一个文件的位置.硬连结是存在同一个文件系统中,而软连结却可以跨越不同的文件系统
使用方式:
ln [options] source dist
ln source dist 是产生一个连结(dist)到 source,默认是硬连接,-s是软连接
不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间
参数:
-f 链结时先将与 dist 同档名的档案删除
-d 允许系统管理者硬链结自己的目录
-i 在删除与 dist 同档名的档案时先进行询问
-n 在进行软连结时,将 dist 视为普通文件
-s 进行软链结(symbolic link)
-v 显示所有已链接文件名
-b 将在链结时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
eg:
ln -s yy zz 文件yy产生一个软连接zz
ln yy zz 文件yy产生一个硬链接zz
sudo 用超级用户或别的用户的身份执行命令
sudo -l 显示自己的权限
sudo command 以root身份执行命令
export 设置或显示环境变量(需安装)
在shell中执行程序时,shell会提供一组环境变量. export可新增,修改或删除环境变量,供后续执行的程序使用. export的效力仅及于该此登陆操作
参数:
-f 代表[变量名称]中为函数名称
-n 删除指定的变量,变量实际上并未删除,只是不会输出到后续指令的执行环境中
-p 列出所有的shell赋予程序的环境变量
cut 逐行打印指定部分到标准输出
用法:
cut -cnum1-num2 filename
显示每行从开头算起 num1 到 num2 的文字
参数:
-b 指定字节bytes
-c 指定字符characters
-d 指定分界符,默认是 tab
-f 指定列字段fields,如果没有分界符,则打印整行
-s 不打印无分界符的行
-c m-n 表示显示每一行的第m个字元到第n个字元
-f m-n 表示显示第m栏到第n栏(使用tab分隔)
eg:
cut -c 0-6 file #打印前 6 个字元
cut -c 5-8 file #打印第5-8个字符
cut -c 1-3,10-12 file #打印第1-3和10-12个字符
cut -f 1,3 file #打印tab分割的第1列和第3列