一、啓動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行