Linux---基本的bash shell命令(一)

一、啓動shell

      GNU bash shell是一個可以交互訪問Linux系統的程序。系統啓動的shell取決於用戶ID配置。/etc/passwd文件包含一個所有系統用戶賬戶組成的列表,以及一些關於用戶的配置信息。

[root@x86-139 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...
...

#每個條目都有7個數據字段,使用冒號分隔。
-用戶名
-用戶密碼(如果密碼存儲在其他文件中,則爲佔位符)
-用戶的系統用戶ID編號
-用戶的系統組ID編號
-用戶的全名
-用戶的默認主目錄
-用戶的默認shell程序

二、shell提示符

        bash shell的默認提示符是美元符號($),該符號表示shell等待輸入文本,也可改變shell所用的提示符格式。

[root@x86-139 ~]# 
root:用戶名
x86-139:主機名
~:工作目錄
#:提示符

         控制命令行提示符的環境變量有2個:

                 PS1:控制默認命令行提示符的格式

                  PS2:控制第二層命令行提示符的格式

[root@x86-139 ~]# echo $PS1
[\u@\h \W]\$
[root@x86-139 ~]# echo $PS2
>
[root@x86-139 ~]# 

示例:(謹慎使用!!!)

[root@x86-139 ~]# PS1="[\t][\u]\$"
[23:36:44][root]$

三、bash手冊

安空格鍵可以翻頁,也可以使用方向鍵滾動頁面文本

[zc@x86-139 ~]$ man bash

四、文件系統導航

(1)Linux文件系統

         Linux在一個目錄結構中存儲文件,該目錄成爲虛擬目錄,虛擬目錄包含PC上安裝的所有存儲文件路徑,他們都合併爲一個目錄結構。

[zc@x86-139 ~]$ lsblk 
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0   931G  0 disk 
├─sda1            8:1    0   200M  0 part /boot/efi
├─sda2            8:2    0     1G  0 part /boot
└─sda3            8:3    0 929.8G  0 part 
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0     4G  0 lvm  [SWAP]
  └─centos-home 253:2    0 875.8G  0 lvm  /home
[zc@x86-139 ~]$ ls /
bin    etc             lib         mnt   run   swapfile  var
boot   home            lib64       opt   sbin  sys       vmlinuz
cdrom  initrd.img      lost+found  proc  snap  tmp
dev    initrd.img.old  media       root  srv   usr

(2)瀏覽目錄

    cd  destination

destination參數可以使用兩種不同的方法表示:

        絕對文件路徑

        相對文件路徑

      1》絕對文件路徑

[zc@x86-139 ~]$ cd /usr/lib/gcc/

       2》相對文件路徑

[zc@x86-139 gcc]$ cd 
[zc@x86-139 ~]$ cd .
[zc@x86-139 ~]$ cd ..
[zc@x86-139 home]$ 

#:點(.)表示當前目錄
#:點(..)表示父目錄
#:點( )表示用戶的home目錄

五、文件和目錄列表

(1)基本列表

zc@linux-B7102T76V12HR-2T-N:~$ ls
examples.desktop  openshit

zc@linux-B7102T76V12HR-2T-N:~$ ls -F                //區分文件和目錄
examples.desktop  openshit/

zc@linux-B7102T76V12HR-2T-N:~$ ls -F -R            //瀏覽所有的目錄
.:
examples.desktop  openshit/

./openshit:
admin-env.sh    openshit.sh*    service.conf    setting.conf
conf_editor.py  pre-install.sh  service-env.sh
LICENSE         README.md       services/

./openshit/services:
--all   dashboard  keystone  neutron  nova-network
cinder  glance     mysql     nova     rabbitmq

(2)修改顯示的信息

zc@linux-B7102T76V12HR-2T-N:~$ ls -l
總用量 16
-rw-r--r-- 1 zc zc 8980 4月  16  2018 examples.desktop
drwxrwxr-x 4 zc zc 4096 12月 28 22:30 openshit

-文件類型(比如目錄(d)、文件(-)、字符設備(c)、塊設備(b))
-文件的權限
-指向該文件的硬鏈接數量
-文件所有者的用戶名稱
-文件所屬的組的名稱
-文件的字節大小
-上次修改文件的時間
-文件或目錄名稱

(3)完整的參數列表

ls 命令使用兩種命令行參數:

        單字母參數;

        全字(長)參數;

(4)過濾列表輸出

         問號表示一個字符

         星號表示零個或多個字符

zc@linux-B7102T76V12HR-2T-N:~$ ls -l examples.desktop 
-rw-r--r-- 1 zc zc 8980 4月  16  2018 examples.desktop

zc@linux-B7102T76V12HR-2T-N:~$ ls -l examples.deskto?
-rw-r--r-- 1 zc zc 8980 4月  16  2018 examples.desktop

zc@linux-B7102T76V12HR-2T-N:~$ ls -l examples*
-rw-r--r-- 1 zc zc 8980 4月  16  2018 examples.desktop

六、文件處理

(1)創建文件

zc@linux-B7102T76V12HR-2T-N:~$ touch haha                 //創建一個文件
zc@linux-B7102T76V12HR-2T-N:~$ ll
總用量 56
drwxr-xr-x 5 zc   zc   4096 1月   1 18:08 ./
drwxr-xr-x 7 root root 4096 12月 29 15:27 ../
-rw-r--r-- 1 zc   zc   8980 4月  16  2018 examples.desktop
-rw-rw-r-- 1 zc   zc      0 1月   1 18:08 haha
drwxrwxr-x 4 zc   zc   4096 12月 28 22:30 openshit/

zc@linux-B7102T76V12HR-2T-N:~$ touch -t 201812311200 haha   //修改創建文件的時間
zc@linux-B7102T76V12HR-2T-N:~$ ll
總用量 56
drwxr-xr-x 5 zc   zc   4096 1月   1 18:08 ./
drwxr-xr-x 7 root root 4096 12月 29 15:27 ../
-rw-r--r-- 1 zc   zc   8980 4月  16  2018 examples.desktop
-rw-rw-r-- 1 zc   zc      0 12月 31 12:00 haha
drwxrwxr-x 4 zc   zc   4096 12月 28 22:30 openshit/

(2)複製文件

zc@linux-B7102T76V12HR-2T-N:~$ ls
examples.desktop  haha  openshit

zc@linux-B7102T76V12HR-2T-N:~$ cp haha haha1

zc@linux-B7102T76V12HR-2T-N:~$ ls
examples.desktop  haha  haha1  openshit

(3)鏈接文件

         符號鏈接(軟鏈接)

$:cp -s test1 test2

         硬鏈接

$:cp -l test1 test2

(4)重命名文件

$: mv test1  test5  //可以是文件或目錄

(5)刪除文件

$:rm test1       
$:rm -r test2   

七、目錄處理

(1)創建目錄

$:mkdir dir1

(2)刪除目錄

$:rmdir dir1

$:rm -rf dir1

八、查看文件內容

(1)查看文件統計數據---stat命令

zc@linux-B7102T76V12HR-2T-N:~$ stat examples.desktop 
  文件:examples.desktop
  大小:8980      	塊:24         IO 塊:4096   普通文件
設備:802h/2050d	Inode:20188605    硬鏈接:1
權限:(0644/-rw-r--r--)  Uid:( 1002/      zc)   Gid:( 1002/      zc)
最近訪問:2019-01-01 20:26:56.027006748 +0800
最近更改:2018-04-16 16:18:02.000000000 +0800
最近改動:2018-12-28 16:21:06.806703673 +0800
創建時間:-

(2)查看文件類型----file

        file命令將文件分爲以下3類:

                   文本文件:包含可打印字符的文件

                   可執行文件:可以在系統運行的文件

                   數據文件:包括不可打印的二進制字符的文件,但也不可以在系統運行

zc@linux-B7102T76V12HR-2T-N:~$ file examples.desktop 
examples.desktop: UTF-8 Unicode text

(3)查看整個文件

cat命令

$:cat test1
$:cat -n test1      //-n參數爲所有行編號
$:cat -b test1      //-b只需要爲帶文本的行編號
$:cat -T test1      //不希望出現跳格字符

more命令

less命令  ------(基本同more)

(4)查看部分文件

tail命令

head命令

zc@linux-B7102T76V12HR-2T-N:~$ head examples.desktop  //默認只顯示前10行

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章