Linux 命令2

echo

换行需要加-e参数

$ echo -e "hello\nbaozi"hellobaozi

set

查看变量
-u 严格模式

$ echo $x

$ set -u
$ echo $x
-bash: x: unbound variable

unset

$ x=5
$ unset x

read

-p 提示输入

$ read -p "please enter your name:" name
please enter your name:baozi
$ echo $name
baozi

-t 设置等待输入时长

$ read -p "请在2秒内输入姓名:" -t 2 name
请在2秒内输入姓名:baozi
$ echo $name
baozi

-s 不显示输入的内容

$ read -p "请输入你的密码:" -s pwd
请输入你的密码:
$ echo $pwd
123

-n 指定字符数

$ read -p "输入5个字符:" -n 5 chars
输入5个字符:12345
$ echo $chars
12345

declare

-设定选项
+取消选项
a 数组型
i 整数型
x 环境变量:export
r 只读变量
p 显示类型

示例

$ aa=11
$ bb=22
$ declare -i cc=$aa+$bb
$ echo $cc
33
$ declare -p cc
declare -i cc="33"

定义数组

$ movie[0]=aa
$ movie[1]=bb
$ declare -a movie[2]=cc
$ echo ${movie[1]}
bb
$ echo ${movie[*]}
aa bb cc
$ declare -p movie
declare -a movie='([0]="aa" [1]="bb" [2]="cc")'

cut

-f 指定取第几列,多列使用逗号分隔。
-d 指定分隔符(默认制表符)。

$ cat stu.txt
1   20  qiu
2   43  liu
3   23  zheng
4   32  yang
5   24  qian
$ cat stu1.txt
1 20 qiu
2 43 liu
3 23 zheng
4 32 yang
5 24 qian

$ cut -f 2 stu.txt
20
43
23
32
24
$ cut -f 2,3 stu.txt
20  qiu
43  liu
23  zheng
32  yang
24  qian

$ cut -f 2 -d " "  stu1.txt
20
43
23
32
24
$ cut -f 2,3 -d " " stu1.txt
20 qiu
43 liu
23 zheng
32 yang
24 qian

printf

%s:输出字符串
%i:输出整数
%f:输出浮点数
%m.nf :m表示整数位长度,n表示小数位长度

$ printf '%s' 1 2 3 4 5 6
123456

$ printf '%s\n' 1 2 3 4 5 6
1
2
3
4
5
6

$ printf '%s %s %s\n' 1 2 3 4 5 6
1 2 3
4 5 6

$ printf '%s %s %s %s %s %s\n' 1 2 3 4 5 6
1 2 3 4 5 6

$ printf '%s%s%s\n' 1 2 3 4 5 6
123
456

$ printf '%s%s%s%s%s%s\n' 1 2 3 4 5 6
123456

读取文件内容

$ printf '%s\t%s\t%s\n' $(cat stu.txt)
1   20  qiu
2   43  liu
3   23  zheng
4   32  yang
5   24  qian

sort

-r 降序,默认升序

$ head -n 20 /etc/passwd | grep -v "#" |cut -f 1,2,3 -d ":" > some_passwd
$ cat some_passwd
nobody:*:-2
root:*:0
daemon:*:1
_uucp:*:4
_taskgated:*:13
_networkd:*:24
_installassistant:*:25
_lp:*:26
_postfix:*:27
_scsd:*:31

$ sort some_passwd
_installassistant:*:25
_lp:*:26
_networkd:*:24
_postfix:*:27
_scsd:*:31
_taskgated:*:13
_uucp:*:4
daemon:*:1
nobody:*:-2
root:*:0

$ sort -r some_passwd
root:*:0
nobody:*:-2
daemon:*:1
_uucp:*:4
_taskgated:*:13
_scsd:*:31
_postfix:*:27
_networkd:*:24
_lp:*:26
_installassistant:*:25

-t 指定分隔符,默认制表符
-k n[,m] 按照指定的字段范围排序,默认到末尾。

$ sort -t ":" -k "3,3" some_passwd
nobody:*:-2
root:*:0
daemon:*:1
_taskgated:*:13
_networkd:*:24
_installassistant:*:25
_lp:*:26
_postfix:*:27
_scsd:*:31
_uucp:*:4

$ sort -t ":" -k "3,3" -r some_passwd
_uucp:*:4
_scsd:*:31
_postfix:*:27
_lp:*:26
_installassistant:*:25
_networkd:*:24
_taskgated:*:13
daemon:*:1
root:*:0
nobody:*:-2

-n 以数值方式排序,数字默认是以字符串形式排序的。

$ sort -t ":" -k "3,3" -r -n some_passwd
_scsd:*:31
_postfix:*:27
_lp:*:26
_installassistant:*:25
_networkd:*:24
_taskgated:*:13
_uucp:*:4
daemon:*:1
root:*:0
nobody:*:-2

$ sort -t ":" -k "3,3" -n some_passwd
nobody:*:-2
root:*:0
daemon:*:1
_uucp:*:4
_taskgated:*:13
_networkd:*:24
_installassistant:*:25
_lp:*:26
_postfix:*:27
_scsd:*:31

wc

-l 只统计行数
-w 只统计单词数
-m 只统计字符数

$ wc /etc/passwd
     108     294    6774 /etc/passwd
$ wc -l -w -m /etc/passwd
     108     294    6774 /etc/passwd
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,770评论 0 5
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,144评论 0 2
  • 1. (( 双重尖括号命令 (( ))双尖括号和[[ ]]双方括号都是bash shell的两项新的扩展,提供了可...
    KevinCool阅读 711评论 0 0
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,265评论 0 0
  • 标准瓶花有直立型、倾斜型、下垂型三种。 今天插做分享的是标准瓶花的倾斜型。下图为标准瓶花倾斜型的基本法度和图示,从...
    su茶阅读 2,072评论 0 0

友情链接更多精彩内容