Linux学习之环境变量,cut、grep、wc、sort、tee命令(学习内容记录)

环境变量分类

按生命周期分:

  • 永久的:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。(个人理解为是已经是系统已经默认搭配好的东西,只要打开可以直接用)
  • 临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。(个人理解为属于一次性的偏好设置下一次登录就没有了)

按作用域分:

  • 系统环境变量:公共的,对全部的用户都生效。
  • 用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效
命令
  • cut命令,打印每一行的某一字段
# 前五个(包含第五个)
cut /etc/passwd -c -5
# 前五个之后的(包含第五个)
cut /etc/passwd -c 5-
# 第五个
cut /etc/passwd -c 5
# 2 到 5 之间的(包含第五个)
cut /etc/passwd -c 2-5

举例,打印的是每一行的前五个字符
在这里插入图片描述

  • grep命令,在文本中或 stdin 中查找匹配字符串
# 查看环境变量中以 "yanlou" 结尾的字符串
export | grep ".*yanlou$"

在这里插入图片描述

  • wc命令,简单小巧的计数工具
    /后面是路径
# 行数
wc -l /etc/passwd
# 单词数
wc -w /etc/passwd
# 字节数
wc -c /etc/passwd
# 字符数
wc -m /etc/passwd
# 最长行字节数
wc -L /etc/passwd

请添加图片描述

  • sort命令
    支持的排序有按字典排序(字母排序),数字排序,按月份排序,随机排序,反转排序,指定特定字段进行排序等等。

默认为字典排序:

cat /etc/passwd | sort

反转排序:

cat /etc/passwd | sort -r

按特定字段排序:

cat /etc/passwd | sort -t':' -k 3

上面的-t参数用于指定字段的分隔符,这里是以":"作为分隔符;-k 字段号用于指定对哪一个字段进行排序。这里/etc/passwd文件的第三个字段为数字,默认情况下是以字典序排序的,如果要按照数字排序就要加上-n参数:

cat /etc/passwd | sort -t':' -k 3 -n

请添加图片描述

  • tee命令,同时重定向到多个文件

将输出重定向到文件,也需要将信息打印在终端

echo 'hello shiyanlou' | tee hello

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用方法,解压到本地目录,配置path,即可在dos下使用linux命令。 windows下能直接执行的linux命令,基本包括日常所有,如:[.exe grolbp.exe regtool.exe a2p.exe grolj4.exe rm.exe a2p5.10.0.exe grops.exe rmdir.exe addftinfo.exe grotty.exe rmt.exe addr2line.exe gzip.exe run.exe alternatives.exe head.exe runcon.exe ar.exe hostid.exe rxvt.exe arch.exe hostname.exe scp.exe as.exe hpftodit.exe sdiff.exe ascii.exe i686-pc-cygwin-gcc-3.4.4.exe sed.exe ash.exe i686-pc-cygwin-gcc-3.exe semstat.exe awk.exe i686-pc-cygwin-gcc.exe semtool.exe banner.exe id.exe seq.exe base64.exe indxbib.exe setfacl.exe basename.exe info.exe setmetamode.exe bash.exe infokey.exe sftp-server.exe bigram.exe install-info.exe sftp.exe bunzip2.exe install.exe sh.exe bzcat.exe ipcrm.exe sha1sum.exe bzip2.exe ipcs.exe sha224sum.exe bzip2recover.exe join.exe sha256sum.exe c++filt.exe kill.exe sha384sum.exe cat.exe ld.exe sha512sum.exe cc-3.exe less.exe shmtool.exe cc.exe lessecho.exe shred.exe chcon.exe lesskey.exe shuf.exe chgrp.exe link.exe size.exe chmod.exe lkbib.exe sleep.exe chown.exe ln.exe soelim.exe chroot.exe locate.exe sort.exe cksum.exe login.exe split.exe cmp.exe logname.exe ssh-add.exe code.exe lookbib.exe ssh-agent.exe comm.exe lpr.exe ssh-keygen.exe conv.exe ls.exe ssh-keyscan.exe cp.exe make.exe ssh-keysign.exe cpp-3.exe makeinfo.exe ssh.exe cpp.exe man.exe sshd.exe crypt.exe man2html.exe ssp.exe csplit.exe manpath.exe stat.exe cut.exe md5sum.exe strace.exe cygcheck.exe mkdir.exe strings.exe cygpath.exe mkfifo.exe strip.exe cygrunsrv.exe mkgroup.exe stty.exe cygserver.exe mknod.exe su.exe cygstart.exe mkpasswd.exe sum.exe d2u.exe mkshortcut.exe svn.exe date.exe mktemp.exe svnadmin.exe dd.exe mount.exe svndumpfilter.exe df.exe msgtool.exe svnlook.exe diff.exe mv.exe svnsync.exe diff3.exe nc.exe svnversion.exe dir.exe ngettext.exe sync.exe dircolors.exe nice.exe tac.exe dirname.exe nl.exe tail.exe dlltool.exe nm.exe tar.exe dllwrap.exe nohup.exe tbl.exe dos2unix.exe objcopy.exe tee.exe du.exe objdump.exe test.exe dump.exe od.exe texindex.exe dumper.exe oldfind.exe tfmtodit.exe echo.exe openssl.exe touch.exe editrights.exe passwd.exe tr.exe egrep.exe paste.exe troff.exe env.exe pathchk.exe true.exe envsubst.exe peflags.exe tsort.exe eqn.exe perl.exe tty.exe expand.exe perl5.10.0.exe u2d.exe expr.exe pfbtops.exe umount.exe factor.exe pgawk-3.1.6.exe uname.exe false.exe pgawk.exe unexpand.exe fgrep.exe pic.exe uniq.exe find.exe pinky.exe unix2dos.exe fmt.exe post-grohtml.exe unlink.exe fold.exe pr.exe unprotoize-3.exe frcode.exe pre-grohtml.exe unprotoize.exe gawk-3.1.6.exe printenv.exe users.exe gawk.exe printf.exe vdir.exe gcc-3.exe protoize-3.exe vim.exe gcc.exe protoize.exe wc.exe gcov-3.exe ps.exe which.exe gcov.exe ptx.exe who.exe getclip.exe putclip.exe whoami.exe getfacl.exe pwd.exe windmc.exe gettext.exe ranlib.exe windres.exe gkill.exe readelf.exe xargs.exe gprof.exe readlink.exe xmlwf.exe grep.exe readshortcut.exe xxd.exe grn.exe realpath.exe yes.exe grodvi.exe rebase.exe zdump.exe groff.exe refer.exe zic.exe
k1++; } else if (board[i+k][j+k] == -turn || k1 == 0) { if (k1 > 0) { k2++; } k1 = 0; } if (k1 ==Bash管道(pipe)命令是将多个命令通过管道符(|)连接在一起,使得前一个 6) { value += 10000; } else if (k1 > 0 && i+k > 0 && i命令的输出成为下一个命令的输入,以此类推,形成一个流水线。下面是常+k < ROWS - 1 && j+k > 0 && j+k < COLS - 1 && board[i+k-1用的一些命令: 1. cut:用于剪切文本文件中的字段,可以按列或字符位置进行][j+k-1] == 0 && board[i+k+1][j+k+1] == 0) { value +=剪切。 示例: ``` cut -d',' -f1 file.csv # 按逗号分隔,提取第一 100; // 可以成五 } else if (k1 > 0 && i+k > 0 && i+k <列 cut -c1-5 file.txt # 提取文本文件的前5个字符 ``` 2. grep: ROWS - 1 && j+k > 0 && board[i+k-1][j+k-1] == 0) { value += 10; // 可以成四 } else if (k1 > 0 && i+k < ROWS - 用于按照指定的模式搜索文本文件中的内容,并将匹配的行输出。 示例: ``` 1 && j+k < COLS - 1 && board[i+k+1][j+k+1] == 0) { valuegrep 'pattern' file.txt # 搜索文本文件中包含pattern的行 grep -v 'pattern' file.txt # += 10; // 可以成四 } else if (k1 > 0 && i+k > 1 && j+k 搜索文本文件中不包含pattern的行 ``` 3. sort:用于对文本文件的行进行排序。 > 1 && board[i+k-1][j+k-1] == turn && board[i+k-2][j+k-2]示例: ``` sort file.txt # 按照字典序升序排序 sort -n file.txt # 按照数字 == 0) { value += 5; // 可以成三 } else if (k1 > 0 && i大小升序排序 ``` 4. wc:用于统计文本文件中的行数、单词数和字符数+k < ROWS - 2 && j+k < COLS - 2 && board[i+k+1][j+k+1] ==。 示例: ``` wc -l file.txt # 统计文本文件的行数 wc -w file.txt # turn && board[i+k+2][j+k+2] == 0) { value += 5; // 可以成三 统计文本文件的单词数 wc -c file.txt # 统计文本文件的字符数 ``` 5 } } if (k1 > 0) { k2++; } if (k2 > . uniq:用于去除文本文件中的重复行。 示例: ``` sort file.txt | uniq # 将0) { value += k2 * k2; // 连子数越多,价值越高 } k1文本文件排序并去重 ``` 6. tee:用于将命令的输出同时输出到屏幕和文件中 = 0; k2 = 0; } } // 左下到右上 for (int i =。 示例: ``` ls -l | tee file.txt # 将ls命令的输出同时输出到屏幕和文件中 5; i < ROWS; i++) { for (int j = 0; j < COLS - 5; j ``` 7. tr:用于对文本文件进行字符转换。 示例: ``` tr 'a-z' '++) { for (int k = 0; k < 6; k++) { if (board[i-k][j+k]A-Z' file.txt # 将文本文件中的小写字母转换为大写字母 ``` 8. == turn) { k1++; } else if (board[i-k][j+k] == -turn || k1 == 0) { if (k1 > 0) { k2++; } k1 = 0; } col:用于过滤文本文件中的控制字符。 示例: ``` col -b file.txt # 过滤 if (k1 == 6) { value += 10000; } else if (k1 > 0 && i-k文本文件中的控制字符 ``` 9. join:用于将两个文本文件中的相同字段进行 > 0 && i-k < ROWS - 1 && j+k > 0 && j+k < COLS - 1 && 合并。 示例: ``` join file1.txt file2.txt # 将file1.txt和file2.txt中相同的 board[i-k-1][j+k+1] == 0 && board[i-k+1][j+k-1] == 0字段合并 ``` 10. paste:用于将两个文本文件的对应行合并成一行。 示) { value += 100; // 可以成五 } else if (k1 > 0 && i-k < ROW例: ``` paste file1.txt file2.txt # 将file1.txt和file2.txt的对应行合并成一S - 1 && j+k > 0 && j+k < COLS - 1 && board[i-k+1][j+k行 ``` 11. expand:用于将文本文件中的制表符转换为空格。 示例: ``` expand file.txt # 将文本文件中的制表符转换为空格 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值