首页 > 其他分享 >UCB-Sysadmin 笔记

UCB-Sysadmin 笔记

时间:2023-09-29 21:11:07浏览次数:47  
标签:elif CODE phonebook 笔记 echo Sysadmin PHONEBOOK UCB ENTRIES

Linux System Administration Decal

A course covering the basics of setting up and administering a production-quality Linux server environment.

Lab1

找出隐藏文件

ls -a

连接输出,然后删除文件

cat naming_is_hard* | xargs
#s t a n f o r d > b e r k e l e y
rm -rf nonsense/

从大文件里面找东西(-A是之后,``-B`是之前)

grep "http" -C 2 big_data.txt

image-20230928182905095

增加执行权限

chmod +x a_script

查看文件详细,时间倒序

ls -ltr

cat foo > out.txtcat foo >> out.txt的区别: 前者覆盖,后者追加

head打印前几行(-n 选项用于指定要显示的行数)

head -n 4 big_data.txt

Lab2

Vim

Vim: cheat sheet

删除10行: d10

暂停Vim,然后重新进入Ctrl-Z,然后fg %i其中i是实际进程数

同时编辑多个文件

# 分成上下两部分 用Ctrl+W和jk(或者箭头)进行上下切换
:split filename2
# 左右
:vsplit filename2

缩进: 先把光标停在要缩进的地方,然后Shift+V进入可视模式,上下移动箭头选择,然后用>或者<缩进

tmux

cheat sheet

拆分: Ctrl-b % (左右两个) or Ctrl-b " (上下两个)

退出: Ctrl-D

列出当前session: tmux ls

回到指定session: tmux a -t filename

终止指定session: tmux kill-session -t filename

进入新的session: tmux new -s filename

phonebook实验

#!/bin/bash

PHONEBOOK_ENTRIES="bash_phonebook_entries"


if [ "$#" -lt 1 ]; then
    exit 1

elif [ "$1" = "new" ]; then
    # YOUR CODE HERE #
    if [ "$#" -ne 3 ]; then
        echo "Usage: ./phonebook.sh new <name> <number>"
        exit 1
    else
        echo "$2 $3" >> $PHONEBOOK_ENTRIES
    fi

elif [ "$1" = "list" ]; then
    if [ ! -e $PHONEBOOK_ENTRIES ] || [ ! -s $PHONEBOOK_ENTRIES ]; then
        echo "phonebook is empty"
    else
        # YOUR CODE HERE #
        sed -n 'p' $PHONEBOOK_ENTRIES
    fi

elif [ "$1" = "lookup" ]; then
    # YOUR CODE HERE #
    if [ "$#" -ne 2 ]; then
        echo "Usage: ./phonebook.sh lookup <name>"
        exit 1
    else
        sed -n "/$2 [0-9]/p" $PHONEBOOK_ENTRIES
    fi

elif [ "$1" = "remove" ]; then
    # YOUR CODE HERE #
    if [ "$#" -ne 2 ]; then
        echo "Usage: ./phonebook.sh remove <name>"
        exit 1
    else
        sed -i "/$2 [0-9]+/d" $PHONEBOOK_ENTRIES
    fi

elif [ "$1" = "clear" ]; then
    # YOUR CODE HERE #
    if [ "$#" -ne 1 ]; then
        echo "Usage: ./phonebook.sh clear"
        exit 1
    elif [ ! -e $PHONEBOOK_ENTRIES ] || [ ! -s $PHONEBOOK_ENTRIES ]; then
        echo "phonebook is already empty"
    else
        sed -i 'd' $PHONEBOOK_ENTRIES
    fi

else
    # YOUR CODE HERE #
    echo "Usage: ./phonebook.sh <new|list|lookup|remove|clear> <name> <number>"
fi

注意其中sed的用法(可以使用正则表达式)

sed [-hnV][-e<script>][-f<script文件>][文本文件]

  • -n或--quiet或--silent 仅显示script处理后的结果。
  • d :删除,后面不接任何东西
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

具体用法参见代码即可

标签:elif,CODE,phonebook,笔记,echo,Sysadmin,PHONEBOOK,UCB,ENTRIES
From: https://www.cnblogs.com/520Enterprise/p/UCB-Sysadmin.html

相关文章

  • 《梦断代码》读书笔记02
    1、对该项目的人的认识不得不承认的一点是,这个项目的基础特别棒,在万众瞩目下开启开发的旅程,历时七年,在完工之际,已经没有人为之喝彩;项目团队人人都很优秀,在我眼里,他们不仅仅是久远时光里的一个出名的项目团队,他们还是独一无二的编程“疯子”,他们热爱编程、享受编程,不屑于将自己......
  • 《Java编程思想第四版》学习笔记32--关于static字段的序列化
    //:CADState.java//Savingandrestoringthestateofa//pretendCADsystem.importjava.io.*;importjava.util.*;abstractclassShapeimplementsSerializable{publicstaticfinalintRED=1,BLUE=2,GREEN=3;privateintxPos,yPos,dimension;p......
  • openGauss学习笔记-84 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT部署服
    openGauss学习笔记-84openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT部署服务器优化:x86通常情况下,数据库由以下组件绑定:CPU:更快的CPU可以加速任何CPU绑定的数据库。磁盘:高速SSD/NVME可加速任何I/O绑定数据库。网络:更快的网络可以加速任何SQL*Net绑定数据库。除以......
  • ElasticSearch笔记
    一、常用查询关键字1、matchmatch是模糊匹配查询,根据分词器(如果创建mapping没有指定分词器,Es将会采取默认的分词器:standard,standard分词将会把匹配的词组分成单个的字,而不是短语)将指定的query查询的语句进行分词匹配。#查询索引中name为Tom的文档:{'query':{......
  • 20211314王艺达学习笔记4
    学习总结第七章文件操作文件操作级别(1)硬件级别fdisk:将硬盘、U盘或SDC盘分区mkfs:格式化磁盘分区,为系统做好准备fsck:检查和维修系统碎片整理:压缩文件系统中的文件(2)操作系统内核中的文件系统函数前缀为k表示内核函数(3)系统调用open()、read()、lseek()、close()open()、......
  • 从小工到专家阅读笔记(一)
    第一篇:1.我的源码让猫给吃了 出现了未曾想的问题,要设法尽可能地处理它们,可以为自己的能力自豪,但对于错误必须真诚面对。对于不可能做到的事情,有权不为之负责,如果答应别人的项目必须切实负则。不要为出错的情况找借口,对老板说"我的源码让猫给吃了”这种言语,对解决问题没有任何......
  • 数位dp学习笔记
    数位dp学习笔记目录数位dp学习笔记数位dp定义:题型特征:dp设计:dp转移例题:BZOJ3679数位dp定义:...好像就是对数位进行dp,统计方案数。题型特征:通常会有10组左右的询问,每一次询问你较大(1e18左右)的区间内满足某个条件的数的数量。dp设计:dp一般会有2到4维。通常情况下,第一维i表......
  • 《程序员修炼之道:从小工到专家》第一第二章读书笔记
    第一章:追求实效的哲学第一节:我的源码被猫吃了在开发过程中,我们经常会遇到一些意想不到的技术问题,导致交付延迟等情况。然而,作为程序员,我们需要诚实和坦率地面对这些问题,并勇于承认自己的错误。我们应该以专业的态度处理这些问题,而不是找借口。此外,我们要对自己承担的责任负责。......
  • 国庆NOIP储备营讲课笔记
    Day1(基础算法)讲师:余快枚举法例题1给定一个数\(x\),判断\(x\)是不是质数。朴素算法:枚举\([2,x−1]\)之间所有的整数\(i\),逐个判断\(x\)是否被\(i\)整除,若都不能整除则\(x\)是质数,时间复杂度\(O(x)\),搞个\(10^9\)直接卡过。该怎么优化呢?优化枚举范围:只需枚举到......
  • 学习笔记
    周屹梁的学习笔记个人各平台地址博客地址:https://www.cnblogs.com/zylyehuo/gitee地址:https://gitee.com/zylyehuogithub地址:https://github.com/zylyehuo夯实基础四元数法|代价地图组成(多层叠加)|通过openpyxl操作excel表格|Ubuntu下查看ip|Windows终......