linux教程知乎,曾佳明(知乎)Linux教程

第一阶段:常规文件夹及文件管理基础命令

- ls ## list

- pwd ## print working directory

- cd ## change directory

- mkdir ## make directory

- touch ## 创建文本

- mv ## move

- rm ## ReMove

- cp ## copy and paste

- tar ## Tape archive

- ln ## LINK

ls命令的参数

//常见参数

-a:全部的目录,连同隐藏文件夹一起列出来

-h:将目录容量转换为以易读的方式(例如GB,KB等等)

-l:列出目录的详细信息

-S:以文件大小排序

-t:以时间排序

-R:递归目录列出文件

-d:结合目录本身,而非目录下文件

第二阶段:文本文件处理大全

三个配对操作命令

head # 功能:显示文档的开头至标准输出中,默认显示十行

tail # 功能:显示文档的末尾至标准输出中,默认显示十行

less # 功能:逐页查看文档内容

more # 功能:也是逐页查看文档内容,跟less类似

cat # cat命令(concatenate)查看文本,输出到屏幕

tac # tac命令,反向查看,是cat命令的补充

cat命令的参数

-A:显示全部内容,包括特殊字符,可列出一些特殊字符而不是空白而已

-b:列出行号,仅针对非空白行做行号显示,空白行不标记行号

-E:将结尾的断行字符$显示出来

-n:打印出行号,连同空白行也会有行号,与-b的选项不同

-T:将[tab]按键以I显出出来

-V:列出一些看不出来的特殊字符

类似于Excel表格功能的命令

sort # 排序

sort lines of text files 对文件的数据进行排序(默认根据ASCII表升序排列)

cut # 提取列,可以以列(字段)为单位处理数据

wc # 计数

grep # 筛选

uniq # 去冗余

awk # 切割

tr,sed # 替换

cat,paste # 合并,补齐

grep命令的参数

-v ## 逆向匹配

-w ## 匹配上整个words

-B ## 输出匹配行之前的指定的行数

-A ## 输出匹配行之后的指定的行数

-E ## 指定支持扩展表达式

-C ## 对匹配到的行计数

-n ## 输出计数后的一行

-o ## -n形式输出匹配的内容

第三阶段:元字符,通配符及shell中的各种扩展

shell扩展

brace expansion ({})

tilde expansion (~)

parameter and variable expansion

arithmetic expansion

command subsitution

process substitution

word splitting

Filename Expansion ## 通配符扩展

linux shell通配符(wildcard)

* ## 匹配0或多个字符

?## 匹配任意一个字符

[list] ## 匹配list中的任意单一字符

[!list] ## 匹配除list中的任意单一字符

[c1-c2] ## 匹配c1-c2中的任意单一字符,如[0-9][a-z]

{string1,string2,...} ## 匹配string1或string2(或更多)其一字符串

shell元字符(特殊字符Meta)

cd ## 回到用户家目录

cd ~ ## 回到用户家目录

cd - # 回到前个目录

cd .. ## 切换到上层目录,相对路径

cd ../.. ## 切换到上上层目录

cd / ## 切换到根目录

cd /teach/ ## 切换到根目录下的teach,绝对路径

其他shell元字符

IFS ## 由或或三者之一组成(我们常用space)

CR ## 由产生

= ## 设定变量

$ ## 做变量或运算替换(请不要与shell prompt搞混了)

> ## 重导向stdout

< ## 重导向stdin

| ## 命令管线

& ## 重导向file descriptor,或将命令至于背境执行

() ## 将其内的命令置于nested subshell执行,或用于运算或命令替换

{} ## 将其内的命令置于non-named function中执行,或用在变量替换的界定范围

; ## 在前一个命令结束时,而忽略其返回值,继续执行下一个命令

&& ## 在前一个命令结束时,若返回值为true,继续执行下一个命令

|| ## 在前一个命令结束时,若返回值为false,继续执行下一个命令

! ## 执行history列表中的命令

第四阶段:高级目录管理

主要命令类型

alias ## 别名

keyword ## 关键字,Shell保留字

function ## 函数,Shell函数

builtin ## 内建命令,Shell内建命令

file ## 文件,磁盘文件,外部命令

unfound ## 没有找到

linux预设的变量

$SHELL ## 默认Shell

$HOME ## 当前用户家目录

$IFS ## 内部字段分隔符

$LANG ## 默认语言

$PATH ## 默认可执行程序路径

$PWD ## 当前目录

$UID ## 当前用户ID

$USER ## 当前用户

$HISTSIZE ## 历史命令大小,可通过HISTTIMEFORMAT变量设置命令执行时间

$RANDOM ## 随机生成一车0至32767的整数

$HOSTNAME ## 主机名

$0 ## 保存当前程序或脚本的名称

$* ## 保存传递给脚本或进程的所有参数

$$ ## 当前进程给脚本的PID号

$! ## 后台运行的最后一个进程的PID号

$? ## 用于返回上一条命令是否成功执行。如果成功执行,将返回数字0,否则返回非零数字(通常情况下都返回数字1)

$# ## 用于保存脚本的参数个数

绝对路径和相对路径

绝对路径:从根目录/开始,用/隔开的各级目录,例如/home/vip1这个目录

相对路径:目标目录相对于当前目录的位置。主要是活学活用.和..这两个特殊字符

第五阶段:任务提交及批处理,脚本编写

任务提交

sleep 100

# 这个命令提交后系统进入睡眠状态,时间是100秒,它会占用我们的命令行,在输入任何命令也不起作用

# 我么可以用下面的命令,来把任务提交到后台运行,这样我们就可以继续使用命令行

nohup sleep 100 &

# 提交任务后可以通过 ps -ef | grep sleep 来查看后台sleep任务的运行情况

# 也可以提供fg等命令把挂在后台的命令拿回来

批处理的两个语法

for i in {1...1000};do (mkdir -p dir${i});done

echo {1...1000}|tr ' ' '\n'| while read id;do (mkdir -p dir${id});done

第六阶段:软件安装及conda管理

写在后面:服务器管理和运维

w/last/top/qsub/condor/apache/socket/IO/ps/who/uid/

磁盘挂载/格式化/重启系统/文件清理/IP查看/网络管理/用户管理/目录结构了解/计划任务/各种库文件

用户组,目录权限管理等等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值