初學第一篇

本菜雞出現了。。。

第一次接觸Linux,相對老司機要差遠了,這幾個月的辣眼睛,我就承包了,希望越來越好~~~

————我是分割線,下面是正文————-

都是講過的東西,不過里面內容都是11手打,作業也自己做后再比對答案

一、–第一天的課程暫時不寫了,從第二天開始
    –第二天開頭學了不少有意思的命令
whoami顯示當前用戶名
who am i顯示當前用戶詳細信息,包括登錄時間、終端名
who 這個顯示的是全部登錄的用戶名,包括更多的信息,這里就不寫了。
     –比較好玩的就是對話:
       通過tty獲得兩個終端的名稱,隨后兩個終端進行對話。
 echo hello >/dev/pts/0
 echo niyehello >dev/pts/2
         不過要在一個用戶名之下,不然找不到

——————-我是分隔符——————是不是很明顯————

     –echo、cat這兩個command還是常用的
     –echo $SHELL、cat /etc/shells 注意空格
     
     –vim的初步試用:i、q、q!、wq、x、esc、:、兩次esc
     –type用來判斷命令的類型 type ls/echo
     –enable管理內部命令 enable echo、enable -n echo、 enable、enable -a
     –help幫助命令
     –hash 剛才禁用echo,緩存在外部命令,可以用hash操作
hash-展示、hash-l詳細展示、hash -d echo刪除緩存路徑、hash -p /bin/echo手動添加一條緩存路徑
     –PATH用來指定外部命令的搜索路徑:為間隔 $PATH
      命令執行的順序 alias別名–command內部命令–hash–PATH
     –whereis command   which command 
     –alias alias do=”command”
     多命令,分號分別執行:echo 123 ; ls ; ll
     關機重啟沒有嘗試:halt/poweroff/init 0  reboot/init 6
     –shutdown    -r重啟、-關機、-c取消計劃關機、+0馬上關機,+1一分鐘后關機、20:00八點關機

—————————————-我又來了~—————————-

     –date:
date展示的結果不好看,可以自己操作玩
date +%F年月日、T時分秒   
date +%Y-%m-%d” “%H:%M:%S
        date 月日時分年.秒    date -s”2012-12-12 12:12:12″
     –hcclock或clock  -s將硬時間寫入軟時間 -w將軟時間寫入硬時間
     clcok -w ;date -s”2017-09-02 10:24:00″
     cal日歷 cal 2017    cal 09 2018
     
     –screen   ssh連接他人ip地址
      -ls列出全部screen  -S 名稱 創建一個screen -x名稱 加入一個screen 
     –echo展示 -n不換行  -e解釋功能
下面開始裝逼時間:
 “\a” 發出警告聲
“\b” 退格
“\c” 不換行
“\n” 換行且光標移至行首
“\r” 移至行首但不換行
“\t” 插入tab
while true ; do echo -e “\a” ; sleep 0.5 ;done

     –$command 或`command`引用命令執行的結果
      $[1+1]或$((1+1))運算
${變量名}或”$變量名”引用變量
     –{}的用法
{1,10}、{1..10}、seq 1 10、seq{1,10}
     –tab補齊

—————————–風騷如我,無處不見————————-

     –history -c清空  -r將歷史追加到history最后 -n讀取未加載歷史 -a將當前終端歷史寫入/.bash_history
     –ctrl+a光標跳行首 +e行尾   echo(alt+100)a輸出100個a
     –whatis 顯示命令描述信息
     –help內部命令 外部命令–help
     –man字典
d、u、f、b,G、g、j、k都是翻頁鍵  /關鍵字 ?關鍵字類似于find,查找,找到后n向下N向上
q退出
     –pwd 顯示當前工作目錄   -P目錄為軟連接時,顯示源目錄路徑 -L目錄為軟連接時,顯示鏈接目錄的路徑
     –絕對路徑:從盤符開始的路徑:C:\windows\system64\xxx.xx
     –相對路徑:從當前路徑開始的:system64\xxx.xx或.\xxx.xx
     –cd就不寫了
     –ls列出目錄內容
ls 列出
-a 列出所有文件,包括隱藏
-A列出所有文件,包括隱藏,但不包括.和..
-l 長列出(屬性)
-R 遞歸———————–這個記了
-l豎顯示
      –touch
創建空文件,對oldfile的touch,沒記
      –stat file   查看文件詳細屬性
–文件的通配符:
*任意
?任意單個
~ 家目錄
[0-9/a-zA-Z]范圍   [hello]取其中的五個匹配  ^脫字符(取反) 
[[:digit:]] 表示任意數字
[[:alpha:]] 表示任意字母
[[:alnum:]] 表示任意字母或數字
[[:upper:]] 表示大寫字母
[[:lower:]] 表示小寫字母
[[:blank:]] 水平空白字符
[[:space:]] 水平或垂直空白字符
[[:punct:]] 特殊字符
小葵花課堂作業:
1、顯示/var目錄下所有以l開頭,以小寫字母結尾,中間必須有一個數字的文件或目錄
2、顯示/etc目錄下以任意一位數字開頭,且以非數字結尾的文件或目錄
3、顯示/etc目錄下以非字母開頭,后面跟了一個字母及其它任意長度任意字符的文件或目錄
4、顯示/etc/目錄下所有以rc開頭,并后面是0-6之間的數字,其他wei任意字符的文件或目錄
5、顯示/etc目錄下,所有以.d結尾的文件或目錄
6、顯示/etc目錄下,所有.conf結尾,且以m,n,r,p開頭的文件或目錄
7、只顯示/root下的隱藏文件和目錄
8、只顯示/etc下的非隱藏目錄

1、ls -d /var/l*[[:digit:]]*[[:lower:]]
2、ls -d /etc/[[:digit:]]*[^[:digit:]]
3、ls -d /etc/[^a-zA-Z]*[a-zA-z]*
4、ls -d /etc/rc[0-6]*
5、ls -d /etc/*.d
6、ls -d /etc/[mnrp]*.conf
7、ls -d /root/.*
8、ls -d /etc/*

—————————放學別走!————————–

cp 來源src 目的地dst
    挑選一些命令:
     -i覆蓋時提示(別名cp -i=cp) cp /app/123 /var
     -r遞歸,可以復制目錄
     -v 顯示復制過程
     -p 等于 –preserv=mode,owner,timestamp 復制時保留權限,時間不變
     -a 以上全部

作業:

1.定義別名命令baketc,當執行該別名時,會將/etc/目錄下所有文件,備份到名為/testdir的獨立目錄下,并要求生成的子目錄名稱格式為backYYYY-mm-dd(如back2017-08-31),備份過程可見

2.創建/testdir/rootdir目錄,并復制/root下所有文件到該目錄內,要求保留原有權限

1、alias baketc =’cp -a /etc /testdir/’ backYYYY-mm-dd(如back2017-08-31這個不會
2、mkdir /testdir/rootdir —>cp -p /root /testdir/rootdir

     –mv src dst
      dst可不存在,會創建,若存在-i詢問是否覆蓋,-f是直接覆蓋,不問
     –rename 源格式  目標格式 原文件路徑
      /app下touch 123.txt 456.txt
      rename .txt .xls /app/*
     –rm刪除
rm -rf 123xls
ls |xargs rm -rf 當刪除的文件數量過多,超過了所支持的參數數量上限時,可配合管道及xargs來刪除。
–no-preserve-root
     –tree 
-d只顯示目錄   -L num 只顯示制定level的目錄結構tree -L 2 testdir

     –mkdir創建目錄
-p一次性創建多級目錄     -v創建時顯示信息   -m mode創建時指定權限

作業:
     創建/testdir/dir1/x,/testdir/dir1/y,/testdir/dir1/x/a ,/testdir/dir1/x/b,/testdir/dir1/y/a,/testdir/dir1/y/b
     創建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b
     創建/testdir/dir3,/testdir/dir4,/testdir/dir5,/testdir/dir5/6,/testdir/dir5/7
     
     1、mkdir /testdir/dir1/{x,y}/{a,b}
     2、mkdir /testdir/dir2/{x/{a,b},y}
     3、mkdir -p testdir/dir{3,4,5/dir{6,7}}
錯誤示范。。。。缺少-p,不能創建多級目錄

     –tr
[set1] [set2] 將set1轉換成set2,set1的位數多于set2時,多出的位數全轉成set2的最后一位,如tr abcd ef 即a轉成e,bcd均轉成f
-d [set1] 刪除set1的字符
-c [set1] [set2] 除了set1以外的剩下其他字符都轉換set2(換行符也會被轉)
-cd [set1] 刪除除set1以外的字符
-s [set1] 將連續重復的字符轉為一個
作業:
     1、將/etc/issue文件中的內容轉換為大寫后保存至/tmp/issue.out文件中
     2、將當前系統登錄用戶的信息轉換為大寫后保存至/tmp/who.out文件中
     3、一個linux用戶給root發郵件,要求郵件標題為”help”,郵件正文如下:
     Hello, I am 用戶名,The system version is here,please help me to 
     check it ,thanks!
     操作系統版本信息
     4、將/root/下文件列表,顯示成一行,并文件名之間用空格隔開
     5、計算1+2+3+..+99+100的總和
     6、刪除Windows文本文件中的‘^M’字符
     7、處理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的數字和空格
     8、將PATH變量每個目錄顯示在獨立的一行
     9、將指定文件中0-9分別替代成a-j
     10、將文件中每個單詞(由字母組成)顯示在獨立的一行,并無空行

答案:
     1、tr a-z A-Z < /etc/issue > /tmp/issue.out
     2、who |tr a-z A-Z > /tmp/who.out
     3、echo -e “Hello, I am `whoami`,The system version is here,please
     to check it ,thanks! \n`cat /etc/redhat-release`” |mail -s “help” root
     4、ls -1 | tr ‘\n’ ‘ ‘
     5、echo {1..100} |tr ‘ ‘ +|bc
     6、tr -d ‘\r’ < win.txt
     7、echo ‘xt.,l 1 jr#172.16.233.128mn 2 c*/fe 3 uz 4’ |tr -dc [0-9][:blank:]
     8、echo $PATH|tr : ‘\n’
     9、cat /etc/fstab | tr [0-9] [a-j]
     10、cat a | tr  ‘ ‘ ‘\n’ | tr -s ‘\n’

—————————快下課了———————-
<標準輸入符
>標準輸出符(覆蓋)
>>追加
標準錯誤輸出
2>覆蓋
2>>追加
將標準正確輸出轉換為標準錯誤輸出
1>&2
將標準錯誤輸出轉換為標準正確輸出
2>&1
將所有輸出結果輸出
&> 覆蓋
&>> 追加|  
&> /dev/null 丟入null

管道符  |
    將前一條命令的正確輸出結果傳遞給后面一條命令使用 ehco hj123 |tr hj aa

tee 對輸出結果進行復制
echo hello |tee -a /root/test.txt |tr a-z A-Z
-a 表示追加,如不加則覆蓋

原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/85842

(0)
oranixoranix
上一篇 2017-09-02
下一篇 2017-09-02

相關推薦

  • find命令歸納

    首先,find可以實現以下方式查找 文件名:-name -iname -regex 文件類型:-type TYPE:(f,d,l,s,b,c,p) 文件大小:-size [+|-]#UNIT #UNIT(k,M,G)范圍(由小到大):[0,#-1](#-1,#](+#,oo) 時間戳:-{a|m|c}time -{a|m|c}min  范圍(現在到…

    Linux干貨 2016-04-19
  • 探索這個“男人”

    一、前言 正所謂了解一個命令就得了解他的用法,正好是要了解一個人就得了解他的興趣愛好,處事態度以及為人是怎么樣的。 二、man是什么 man – an interface to the on-line reference manuals Man是manual(手冊)的縮寫,使用權限是所有用戶,man命令提供為linux系統在線提供了很好的幫助手冊…

    Linux干貨 2016-05-03
  • 分區管理

    分區管理     一.磁盤分類 機械硬盤(HDD):該硬盤是傳統的普通硬盤。主要有:盤片,磁頭,盤片轉軸及控制電機,磁頭控制器,數據轉換器,接口,緩存等幾個部分組成  固態硬盤(SSD):用固態電子存儲芯片陣列而制成的硬盤,由控制單元和存儲單元組成。 二.特點 1.     &n…

    Linux干貨 2017-08-20
  • 第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。  cp -rf /etc/skel/  /home/ mv /home/skel /home/tuser1 chmod  -R 700 /home/tuser1 或chmod -R  …

    Linux干貨 2016-12-03
  • 初識SElinux

    一、SElinux(Secure Enhanced Linux):安全增強的Linux        SElinux是一個在內核中實踐的強制訪問控制(MAC)安全性機制,由美國國家安全局NSA(The National Security Agency)和SCC(Secure Computing Co…

    Linux干貨 2016-09-15
欧美性久久久久