(轉載)linux那點事兒(上)

原文地址:http://www.cnblogs.com/fnng/archive/2012/03/19/2407162.htmlhtml

本文只是轉載供本身學習之用mysql

  本文算是學linux的學習筆記吧!其實linux與window差異仍是有挺大的,在學linux時進量清空本身的windows思惟,否則容易鑽牛角尖。記是學過C以後,去學JAVA,總是用C的思惟去看JAVA,因此,就是難入門。由於一個是面向過程的,一個是面向對象的。若是你拋開windows的思想,從零來學linux,其實,它沒想象的那麼難。天天摸一摸時,天然就熟悉了。linux

 
文件操做                                                                                                      
 
  掌握下面的命令是最基本的噢!那是咱們使用一個系統最基本的操做。
  玩過dos麼,其實,linux下的文件操做和dos差很少。沒什麼難的,多練習就記住了。下面若是有條件的話請跟我同樣操做吧!百看不如一作。不用刻意去記,天天作遍天然就記到了              

 

[root@localhost test]# ls     顯示當前目錄下的全部文件及文件夾sql

[root@localhost test]# ll      以詳細方式顯示全部文件與文件夾。(至關於 ls -l 命令)    數據庫

[root@localhost test]# cd  /user   打開user文件夾windows

     若是不知道要打開的文件夾全稱或名過長,能夠按tab鍵盤自動補齊,如:cd  /u + table鍵,系統自動幫咱們補齊成 /user app

[root@localhost test]#cd ..    (後面空格加兩點)返回上一級目錄學習

[root@localhost test]#pwd     顯示當前目錄路徑測試

  超簡單,記好上面幾個在文件夾之間處處跳已經沒問題了。spa

 

文件的增、刪、查、移

[root@localhost test]# mkdir  test           建立文件夾

[root@localhost test]# touch  test.txt      建立文件

[root@localhost test]# cp test.txt  test2.txt       test.txt文件當前文件夾下複製出個test2.txt

[root@localhost test]# cp test.txt  /hzh/test       test.txt 複製到/hzh/test  目錄下 

[root@localhost test]# rm  aa.txt        刪除aa.txt文件

[root@localhost test]# rm  -r  bb         刪除bb目錄(包括目錄下的全部文件)

[root@localhost test]# rm  -rf bb         刪除bb目錄(不對目錄下的每一個文件提醒刪除) 

[root@localhost test]# mv dd.txt ..       將dd.txt文件移動上一級目錄(注意尾部的兩個點)

[root@localhost test]# mv bb.txt  /hzh/test/      將bb.txt文件移動到hzh/test/目錄下

[root@localhost test]# mv  dd.txt  dd2.txt       將dd.txt更名爲dd2.txt

 

文件查找:
統配符 ?* 與windows下相同
[root@localhost bin]# find /etc -name ini?  查找/etc目錄下,以ini打頭且後面一位的文件,
[root@localhost bin]# find /etc -name ini*

[root@localhost test]#locate  aa.txt      

    查整個系統中的aa.txt文件,locate\slocate命令後面跟文件或文件夾。不過在執行這個命令以前要先更新數據庫,因此選執行 

updatedb 命令。

 

用戶權限                                                                                                    
 
  其實,這個地方對於新手來講感受有點複雜,可是並不難,只要記好了規則就能夠了。
  咱們現有隨便進入一個文件夾下,這個文件下要至少有一個文件或文件夾,而後敲 ll 命令。
[root@localhost test]# ll
總用量 24
rwx------  2 root root 16384  2月 22 04:31 lost+found
rwxr-xr-x  2 root root  4096  3月 18 14:43 test
 
那麼文件前面的「drwxr-xr-x」就表示的權限!
linux下分三類用戶:
u  全部者
g  所屬組
o  其餘人
 
咱們把「rwxr-xr-x」分爲三部分,三位一組。以下
rwx       r-x        r-x
全部者   所屬組   其它人
權限類型:
所要注意的是,權限對文件和目錄的含義是有差異的。

修改權限符號:
+  加權限
-   減權限
=  等於什麼權限
 
當咱們想修改一個文件(或目錄)的權限時:
[root@localhost hzh]# chmod  u+w  a       給a文件的全部者加上寫權限(chmod 爲修改權限的命令)
 
其實,咱們通常修改用戶權限時不這樣寫,那怎麼寫呢,用數字表示。
r - 4     w - 2     x - 1
rwx--r-wx
r+w+x=7
r=1
w+x=3
相信下面的兩個你也明白:
rw-r-x-w-     652
754      rwxr-xr--
例如:
[root@localhost hzh]# chmod 641  a
641  rw-r----x  全部者有讀、寫權限,組有讀權限,其餘人有執行權限
 
 
軟連接與硬連接                                                                                          
 
軟鏈接:
軟鏈接相似於咱們windows系統的「快捷方式」
    那麼在windows下之因此要設置快捷方式,就是由於有些文件放置的位置不容易找到,咱們就會在桌面建立一個快捷方式。
    那麼在linux下的軟連接,我想主要是文件名過長,不便於輸入。由於linux下對文件對文件操做通常要輸入文件名,不像windows下面無所謂文件名的長短,鼠標點擊便可完成各中操做。
建立一個軟連接
[root@localhost test]# ln -s ruanlianjie.abc /hzh/test/rlj.soft   
   對當前目錄下的ruanlianjie.abc文件,在/hzh/test/目錄下建立一個軟連接,名爲rlj.soft
[root@localhost test]# ll
總用量 36
lrwxrwxrwx  1 root root    15  3月 19 20:57 rlj.soft -> ruanlianjie.abc
-rw-r--r--  1 root root    28  3月 19 20:57 ruanlianjie.abc
 
如今就能夠對軟件連接,進行操做了,
[root@localhost test]# vi rlj.soft          編輯rlj.soft文件,其實也就是編輯ruanlianjie.abc文件
 
硬鏈接:
       硬鏈接至關於把原文件拷貝了一份,惟一特殊的地方就是,兩個文件是同步的。當你對其中一個文件進行修改時,另外一個文件也就會同步更新你的修改。有什麼好處,你懂的!
下面建立一個硬連接:
[root@localhost test]# ln yinglianjie.abc /hzh/test/ylj.hard       
   對yinglianjie.abc文件在/hzh/test/目錄下建立一個硬連接文件ylj.hard 
[root@localhost test]# ll
-rw-r--r--  2 root root     0  3月 19 21:08 yinglianjie.abc
-rw-r--r--  2 root root     0  3月 19 21:08 ylj.hard
 
[root@localhost test]# vi ylj.hard   對硬連接ylj.hard文件時行修改並保存
[root@localhost test]# ll                       
-rw-r--r--  2 root root    14  3月 19 21:09 yinglianjie.abc      咱們會發現yinglianjie.abc也被同步修改了
-rw-r--r--  2 root root    14  3月 19 21:09 ylj.hard
 
文件壓縮與解壓                                                                                       
 
    文件的壓縮與解壓,也是咱們平常中常常用到的操做,如,咱們會常常從網上下載各類文件進行進行安裝,而大部分文件都是通過壓縮的。
下面來學習四個經常使用的壓縮命令。
gzip
特色:
1.只能壓縮文件,不能壓縮目錄
2.不保留源文件
 
[root@localhost test]# gzip aaa             將aaa文件進行壓縮
[root@localhost test]# gunzip aaa.gz     將aaa.gz文件進行解壓
[root@localhost test]# gzip -d aaa.gz    做用同上
  
tar
tar類型的的壓縮文件應該是你們最多見的吧,在網上下的好多軟件也是這種格式的。
參數:
-x 解包.tar文件
-v 顯示詳細信息
-f 指定解壓文件
-z 解壓縮
[root@localhost test]# tar -zcvf  tatga.tar.gz  tatgz    壓縮tatgz文件夾爲tatga.tar.gz壓縮文件
注意:
在linux下擴展名不是標識文件的屬性
[root@localhost test]# file [文件名]                       查看任何一個文件的類型
[root@localhost test]# tar -cf tatga.tar  tatgz       對tatgz文件打包
[root@localhost test]# gzip tatga.tar                    對tatga.tar包文件壓縮
[root@localhost test]# tar -zxvf tatga.tar.gz        對壓縮文件進行解壓
 
 
zip 
功能:能夠壓縮文件和目錄,是windows 和linux 通用的壓縮格式
 
[root@localhost test]# zip a.zip  a                     把a文件壓縮成a.zip
[root@localhost test]# zip -r tatgz.zip tatgz      壓縮tatgz目錄爲tatgz.zip
[root@localhost test]# unzip  tatgz.zip              解壓文件
 
 
bzip2 
gzip功能基本相同
只能壓縮文件
用 -k 命令能夠保留原文件 
[root@localhost bzip2]# bzip2 -k fnngj  對fnngj文件進行壓縮 
[root@localhost bzip2]# bunzip2  fnngj.bz2   對壓縮文件fnngj.bz2進行解壓
 

通訊命令                                                                                                  
                  
 
    咱們都知道linux有別於windows是的一個特性就是,多用戶的操做系統。容許多個用戶同進對系統進行操做。那麼多個用戶之間如何進行通訊呢?下面來看兩個有趣的通訊命令。
 
write
發給某個用戶信息
[root@localhost ~]# write [用戶名]   

例如:
[root@localhost ~]#  write fnngj  給fnngj用戶發送信息
hello fnngj !! I like you!!xixi       發送的內容
ctrl + D  結束
 
wall
 
發給全部使用系統的用戶
[root@localhost ~]# wall [信息內容]
[root@localhost ~]#  wall hello china
 
ping
 
測試本機與某一地址時候連通的
[root@localhost ~]#  ping 192.168.203.128
[root@localhost ~]#  ping  www.baidu.com 
[root@localhost ~]#  ping -c  4 192.168.203.1    -c 至關於windows(dos) 下的默認狀況(會發送4次數據時行測試)
      其實,咱們能夠設置發送數據包的次數
[root@localhost ~]# ping -s  5000  192.168.203.1   設置ping包的個數爲5000; 最大爲65507
 
ifconfig  
這個命令相似於dos下面的ipconfig   
[root@localhost ~]#  ifconfig           查看本機IP地址詳細信息
 
 
命令連接符                                                                                              
 
    有時候,咱們爲輸入方便爲把多個命令放在一塊兒輸入執行。有點相似於dos下的批處理。就是一組命令的集合。那麼咱們看看都有哪些符號用於命令之間的鏈接。
------------------------------------------------------------------------------- 
管道
  將一個命令的輸出傳送給另外一個命令,做爲另外一個命令的輸入。
使用方法:
  命令1 | 命令2 | 命令3... | 命令n
例如:
[root@localhost test]# ls -l /etc | more   顯示/etc目錄下的全部文件,以分頁形式more
[root@localhost test]# ls -l /etc | grep init | wc -l     顯示/etc目錄下的全部文件,查找init文件,顯示查找結果的數量。
-------------------------------------------------------------------------------
;(逗號)
用;間隔的各命令按順序依次執行
[root@localhost ~]# pwd ; ll ; data
------------------------------------------------------------------------------- 
&&
command1 && command2
  成功                執行
  失敗                不執行
[root@localhost ~]# lskk && pwd     若是第一個命令執行失敗,第二個命令就不執行。
先後命令的執行存在邏輯與關係,只有&&前面的命令執行成功後,他後面的命令才能被執行
-------------------------------------------------------------------------------- 
||
[root@localhost ~]# lskk || pwd     若是第一個命令執行失敗,第二個命令就執行。
command1 || command2
  成功                不執行
  失敗                 執行
先後命令的執行存在邏輯或關係,只有||前面的命令執行失敗後,他後面的命令才被執行。
 
輸入/輸出重定向                                                                                    
 
    其實,對於咱們的計算機來說,咱們的標準輸入設備是鍵盤,標準輸入設備是顯示器。
假如,我告訴,若是咱們的輸入不用鍵盤了,輸出不在顯示上了。你會說這怎麼稿?即使是使用計算機多年的人,一會兒也會迷糊。呵呵!看了我下面幾個操做,你就明白了。
同標準I/O同樣,Shell 對於每個進程預先定義了個文件描述
(0、一、2)。分別對應於:
0 (stdin)標準輸入
1 (stdout)標準輸出;
2 (stderr)標準錯誤輸出。
 
輸出重定向
    咱們可將某個輸入的信息保存到一個文件中。
[root@localhost ~]# ls -l /tmp > /tmp.msg      將查看tmp目錄的信息保存到/tmp.msg 文件中。屏幕中不顯示任何結果。
[root@localhost test]# vi /tmp.msg                 查看/tmp.msg 文件信息
總用量 8
srwxr-xr-x  1 root  root  0  2月 22 19:36 mapping-root
srwxrwxrwx  1 mysql mysql 0  2月 27 22:35 mysql.sock
 
[root@localhost ~]# data >>/tmp.msg   「 >>」表示追加,在/tmp.msg 再追加一些新的信息。
 
 
輸入重定向
      咱們也能夠將某個輸入保存到一個文件中。
     上面咱們學到一個wall命令,後面跟的信息能夠廣播表其它在線用戶,固然,咱們能夠將要廣播的信息保存到一個文件中,固然,若是有興趣,咱們還能夠設定時間進行發送。
[root@localhost ~]# wall < /etc/motd    將motd文件中的信息進行廣播。
 
錯誤輸出重定向
    假如,我要對一個目錄進行備份(/usr),備份到/backup/usr.bak目錄下,能夠備份時間要好久,我不想一直盯着屏幕看,這時我就能夠設置,若是備份時發生錯誤,將錯誤信息保存到/bak.error文件中。這樣我就能夠找朋友喝喝茶,聊聊天,回來看錯誤信息就能夠了。
[root@localhost ~]# cp -R /usr  /backup/usr.bak 2> /bak.error
相關文章
相關標籤/搜索