天天看點

linux基礎指令Ⅱ

1環境變量PATH

1 環境變量

Linux 的變量可分為兩類:環境變量和本地變量

環境變量,或者稱為全局變量,存在與所有的shell 中,在你登陸系統的時候就已經有了相應的系統定義的環境變量了。Linux 的環境變量具有繼承性,即子shell 會繼承父shell 的環境變量。\

本地變量,目前shell 中的變量,很顯然本地變量中肯定包含環境變量。Linux 的本地變量的非環境變量不具備繼承性。

小案例如下:

<code>1、[root@chy chenhaiying]</code><code># echo $PATH (echo=顯示,列印出。$符表示後面跟的是變量)</code>

<code>/usr/local/sbin</code><code>:</code><code>/usr/local/bin</code><code>:</code><code>/usr/sbin</code><code>:</code><code>/usr/bin</code><code>:</code><code>/root/bin</code><code>\</code>

<code>2、[root@chy ~]</code><code># PATH=$PATH:/tmp/ (增加變量,臨時)</code>

<code>[root@chy ~]</code><code># vi /etc/profile</code>

<code>(要想永久使用在這個配置檔案裡加入想要增加的變量)</code>

2  CP 指令

<code>1、</code><code>cp</code><code>= copy</code>

<code>2、</code><code>cp</code> <code>-a </code><code>source</code>  <code>destination </code>

<code>(</code><code>cp</code> <code>-a 常用 )</code>

<code>3、</code><code>cp</code> <code>-i (若目标檔案存在,覆寫時會提示是否覆寫 常用)</code>

<code>4、</code><code>cp</code> <code>-r 複制目錄時注意需要加/</code>

<code>5、</code><code>cp</code> <code>-p (複制時連檔案的屬性一起複制,備份時常用)</code>

<code>6、tree !$上條指令的最後一個參數</code>

小試驗:

<code>[root@chy tmp]</code><code># cp  /root/1.txt . 拷貝檔案到本地後面要加點.</code>

<code>[root@chy ~]</code><code># cp -a /etc/passwd/ /tmp/chypasswd (複制時屬性與權限不會改變)</code>

<code>[root@chy ~]</code><code># cp -r /tmp/chylinux/ /tmp/chy1/ 拷貝目錄需要加/ </code>

<code>[root@chy ~]</code><code># cp -r /tmp/chylinux/ /tmp/chy1/ (拷貝目錄時當目标目錄存在是會将源目錄放在目标目錄下去)</code>

<code>[root@chy ~]</code><code># tree !$</code>

<code>tree </code><code>/tmp/chy1/</code>

<code>/tmp/chy1/</code>

<code>├── 1.txt</code>

<code>├── 2.txt</code>

<code>└── chylinux</code>

<code>    </code><code>├── 1.txt</code>

<code>    </code><code>└── 2.txt</code>

<code>5 directories, 0 files</code>

3 mv 指令

<code>[root@chy ~]</code><code># mv 1.txt chy.txt (在一個目錄下mv是更改名字)</code>

<code>[root@chy ~]</code><code># mv /root/chy/ /tmp/chy/ (将目錄移動到另一個目錄下,</code>

<code>如果沒有目錄則是改名字後在移動,如果有同樣的目錄,将原目錄移動到目标目錄下)</code>

<code>[root@chy ~]</code><code># mv /root/1.txt /root/2.txt /root/3.txt /tmp/ (移動一串目錄)</code>

<code>[root@chy ~]</code><code># mv -v *.txt /tmp/ (mv -v 列印移動的資訊)"a.txt" -&gt; "/tmp/a.txt"</code>

<code>"c.txt"</code> <code>-&gt; </code><code>"/tmp/c.txt"</code>

<code>"d.txt"</code> <code>-&gt; </code><code>"/tmp/d.txt"</code>

<code>mv</code> <code>-uv *.txt </code><code>/tmp/</code> <code>(</code><code>mv</code> <code>-u 當源檔案比目标檔案新時就可以更新)</code>

<code>[root@chy ~]</code><code># /usr/bin/mv -bv *.txt /tmp/ (mv -bv 是備份的意思—)</code>

<code>"a.txt"</code> <code>-&gt; </code><code>"/tmp/a.txt"</code> <code>(備份:</code><code>"/tmp/a.txt~"</code><code>)</code>

<code>"b.txt"</code> <code>-&gt; </code><code>"/tmp/b.txt"</code> <code>(備份:</code><code>"/tmp/b.txt~"</code><code>)</code>

<code>"c.txt"</code> <code>-&gt; </code><code>"/tmp/c.txt"</code> <code>(備份:</code><code>"/tmp/c.txt~"</code><code>)</code>

 4、文檔檢視cat_more_less_head_tail

<code>[root@chy tmp]</code><code># cat chy.txt 檢視檔案</code>

<code>[root@chy tmp]</code><code># tac passwd (倒叙檢視,常用)</code>

<code>[root@chy ~]</code><code># cat -A 3.txt</code>

<code>111$</code>

<code>222$ (-A:顯示不可列印字元,行尾顯示“$”;)</code>

<code>[root@chy tmp]</code><code># cat -n passwd(cat -n 顯示行号)</code>

<code>     </code><code>1  root:x:0:0:root:</code><code>/root</code><code>:</code><code>/bin/bash</code>

<code>     </code><code>2  bin:x:1:1:bin:</code><code>/bin</code><code>:</code><code>/sbin/nologin</code>

<code>     </code><code>3  daemon:x:2:2:daemon:</code><code>/sbin</code><code>:</code><code>/sbin/nologin</code>

<code>[root@chy tmp]</code><code># more passwd (一屏一屏的看 回車往下看 ctrl+b 上屏看)</code>

<code>[root@chy tmp]</code><code># less passwd(</code>

<code>支援方向鍵檢視,ctrl+b 上看,ctrl+f 向下 退出 </code>

<code>/後加想查的可以高亮顯示,按n向下會尋找是否在有檢視的内容,N向上檢視是否有檢視的内容)</code>

<code>?差別是與/放向不同</code>

<code>G定位行尾   g定位行首  </code>

<code>[root@chy tmp]</code><code># head -n 2 passwd 檢視前兩行</code>

<code>[root@chy tmp]</code><code># tail -n 2 passwd  (檢視後兩行)</code>

<code>[root@chy tmp]</code><code># tail -f passwd (檢視動态的檔案,看日志用的比較多)</code>

5 檔案或目錄權限chmod 

<code>[root@chy ~]</code><code># ls -l 檢視式列的權限</code>

<code>總用量 12</code>

<code>-rw-------. 1 root root 1695 5月  26 03:22 anaconda-ks.cfg</code>

<code>-rw-r--r--  1 root root    0 6月   7 06:01 a.tbt</code>

<code>rwx代表的意思是r=可讀 w=可寫 x=可執行</code>

<code>從第二位開始每三個分開分三段,第一段屬于所屬主,第二段分為所屬組,第三段分其它</code>

<code>[root@chy ~]</code><code># r=4 w=2 x=1 權限也可用數字表示</code>

<code>[root@chy ~]</code><code># chmod =change mode 更改權限</code>

<code>[root@chy ~]</code><code># mkdir 123 新建立的檔案檢視權限後發現後面有點,這個點是受制與selinux的 ,當selinux關閉後在建立時就不會有點。</code>

<code>[root@chy ~]</code><code># ls -l</code>

<code>[root@chy ~]</code><code># chmod -R 744 chy chmod -R 批量的建立權限,會将目錄及以下的子目錄都給相同的權限。</code>

<code>[root@chy ~]</code><code># chmod u=rw,g=r,o=r chy (另一種更改權限的方法)</code>

<code>[root@chy ~]</code><code># chmod a+x chy (a+x {a-x} 将所有者,所屬組,其它人都增加{減少}x的權限。同理可得u,g,o都可增加或減少權限)</code>

 6 更改所有者和所屬組chown 

[root@chy ~]# change owner 更改所有者 

[root@chy ~]# chown chy chy 更改chy的所有者

[root@chy ~]# chgrp =change group 更改所屬組)

[root@chy ~]# chown chy:chy chy 更改所有者與所屬組

[root@chy ~]# chown -R chy:chy /tmp/ (-R遞歸的意思。就是這個目錄下的所有者與所屬組都有相同的權限)

 7 umask 

<code>[root@chy ~]</code><code># umask</code>

<code>0022</code>

<code>[root@chy ~]</code><code># umask 目錄算發=(rwxrwxrwx - rwx-w--w-)=---r-xr-x(用777-去umask權限等于應有的權限,目錄必須有執行權限)</code>

<code>[root@chy ~]</code><code># umask 檔案算法=(rw-rw-rw - ----w-r--)=rw-r--r--(用666減去umask權限等于應有的檔案權限)</code>

8 隐藏權限lsattr_chattr

<code>[root@chy ~]</code><code># chattr +i 1.txt</code>

<code>設定一個權限的隐藏權限。(設定了隐藏檔案後,不能删除,不能修改,不能移動,但是可以copy,copy過去後沒有i權限)</code>

<code>[root@chy ~]</code><code># lsattr 2.txt 檢視權限是否有隐藏權限。</code>

<code>[root@chy ~]</code><code># chattr -i 1.txt</code>

<code>(減去i權限)</code>

<code>[root@chy ~]</code><code># chattr +a 1.txt</code>

<code>(追加後,也可</code><code>touch</code><code>這個檔案,但不能删除,不能移動可以copy但是copy過去後沒有i權限)</code>

<code>[root@chy ~]</code><code># chattr -a 1.txt</code>

<code>[root@chy ~]</code><code># lsattr -R /tmp </code>

<code>(檢視</code><code>/tmp</code><code>所有的)</code>

<code>[root@chy ~]</code><code># lsattr -d /tmp</code>

<code>(-d檢視檔案的本身)</code>

<code>[root@chy ~]</code><code># lsattr -a /tmp</code>

<code>(-a會列出隐藏檔案)</code>

<code>chattr選項解釋:i:不得任意更動檔案或目錄。</code>

<code> </code><code>a:讓檔案或目錄僅供附加用途(讓某個檔案隻能往裡面追加資料,但不能删除)</code>

     本文轉自我不是瘦子51CTO部落格,原文連結:http://blog.51cto.com/chy940405/1983319,如需轉載請自行聯系原作者