Linux 7天系列(轉)

    本文算是學linux的學習筆記吧!其實linux與window差別還是有挺大的,在學linux時進量清空自己的windows思維,不然容易鑽牛角尖。記是學過C之後,去學JAVA,老是用C的思維去看JAVA,所以,就是難入門。因爲一個是面向過程的,一個是面向對象的。如果你拋開windows的思想,從零來學linux,其實,它沒想象的那麼難。每天摸一摸時,自然就熟悉了。

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

 

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

[root@localhost test]# ll      以詳細方式顯示所有文件與文件夾。(相當於 ls -l 命令)    

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

     如果不知道要打開的文件夾全稱或名過長,可以按tab鍵盤自動補齊,如:cd  /u + table鍵,系統自動幫我們補齊成 /user 

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

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

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

 

文件的增、刪、查、移

[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、1、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

此文爲轉載,原文地址:
發佈了7 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章