1.Linux基礎操作:主題4 常用Linux指令(系統登錄和環境有關指令)

學習Shell編程,首先要對Shell命令有足夠了解。所以,從本講開始,分類對常用的Shell命令及其常用參數進行講解。因爲本講義並不是專門針對Shell編程或Linux系統管理,所以只講解一些常用的知識。有興趣的童鞋可以課後進行討論。

1.uname 

之所以將這個命令作爲第一個介紹,是因爲Linux系統的差異性,有些問題首先要明確操作系統談論起來纔有意義。

如果是簡單的uname命令,將顯示最基本的信息,只是告訴你“老子是Linux”,加上“-a"參數後,該說的就都說了。這裏只需要記住-a 就行了,其他的現用現查就好。


[densintian@rachel ~]$ uname 
Linux
[densintian@rachel ~]$ uname -a
Linux rachel 3.16.6-200.fc20.x86_64 #1 SMP Wed Oct 15 13:06:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[densintian@rachel ~]$

2. uptime 

系統運行時間

[densintian@rachel ~]$ uptime 
 23:11:18 up  1:59,  2 users,  load average: 0.06, 0.03, 0.05
[densintian@rachel ~]$


3. su

進入根用戶權限(最高權限),在此權限下,一切操作都要謹慎小心。

[densintian@rachel ~]$ uptime 
 23:11:18 up  1:59,  2 users,  load average: 0.06, 0.03, 0.05
[densintian@rachel ~]$


4. exit 

Shell的退出指令。當進入su下,exit將退出根用戶模式。如果在一般用戶下,將直接退出Shell界面,如果是遠程終端訪問,將直接關閉Session
[root@rachel ~]# exit
登出
[densintian@rachel ~]$

5. pwd

當前的工作目錄。雖然在fedora下,提示符中有當前的目錄信息,但是別的Linux可不一定有。而且fedora下,也都是最後一個層級的目錄信息。比如在$HOME下有一個文件夾叫bin,而根目錄下,也有一個文件夾叫bin,這時候提示符是相同的。所以需要pwd命令來確定當前的工作目錄到底是誰。下面就是這種情況的判斷,請注意目錄的跳轉和提示符的變化
[densintian@rachel bin]$ pwd
/bin
[densintian@rachel bin]$ cd ~/bin
[densintian@rachel bin]$ pwd
/home/densintian/bin
[densintian@rachel bin]$ 

6. man

這個命令的名字就是單詞manual的縮寫。功能就是打印命令的手冊。包括常用參數等信息。因爲手冊的長度都比較長,在輸出的過程中,回車是向下延伸一行,空格是翻頁。q是隨時退出。
我個人的用法是經常用輸出轉向把手冊弄到文件裏面去看。
[densintian@rachel ~]$ man man
[densintian@rachel ~]$ man man > 1.txt
[densintian@rachel ~]$ cat 1.txt

7. date

這就是一個顧名思義的命令。輸出現在的系統時間。可以簡單的設置一些格式。
[densintian@rachel ~]$ date
2014年 11月 01日 星期六 21:46:47 CST
[densintian@rachel ~]$ date +%Y/%m/%d.%H:%M:%S
2014/11/01.21:46:26
[densintian@rachel ~]$ date +%Y%m%d%H%M%S #這個參數經常用戶在Shell程序中拼接日誌文件的文件名
20141101214641
[densintian@rachel ~]$



8. ps 

查詢運行的進程。
主要有三個參數
ps -a 當前終端所有進程 
ps -e 除核心進程外的所有進程
ps -f 產生一個完整的列表,作爲非系統管理員的話,前兩個參數用處不是很大,而-f 是經常被用到的。因爲它能夠看出進程間的關係。
[densintian@rachel ~]$ ps
  PID TTY          TIME CMD
 1740 pts/0    00:00:00 bash
 2008 pts/0    00:00:00 vim
 2009 pts/0    00:00:00 ps
[densintian@rachel ~]$ ps -f
UID        PID  PPID  C STIME TTY          TIME CMD
densint+  1740  1718  0 21:43 pts/0    00:00:00 -bash
densint+  2008  1740  0 22:02 pts/0    00:00:00 vim
densint+  2010  1740  0 22:02 pts/0    00:00:00 ps -f
[densintian@rachel ~]$ 

可以看到ps 和 ps -f 現實的進程是一樣的,但是-f會現實進程的父進程。-bash 是我們登錄Shell界面的進程,而其他的進程,都是這個進程的子進程。

9. env

Linux系統有很多環境變量,這些變量可以在Shell中直接調用。當然,不用的用戶登錄,env變量會不用。這個東西可以在用戶的.bashrc文件中設定。
env命令可以查看全部的環境變量


[densintian@rachel ~]$ env
REMOTEHOST=localhost
XDG_SESSION_ID=1
HOSTNAME=rachel
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
QTDIR=/usr/lib64/qt-3.3
TIME_STYLE=+%Y/%m/%d.%H:%M:%S
QTINC=/usr/lib64/qt-3.3/include
QT_GRAPHICSSYSTEM_CHECKED=1
USER=densintian
......# 省略了一些過長的變量
SHLVL=1
HOME=/home/densintian
LOGNAME=densintian
QTLIB=/usr/lib64/qt-3.3/lib
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=192.168.0.105:0.0
_=/bin/env
[densintian@rachel ~]$ 

10. df

檢查磁盤空間的佔用情況。簡單知道就好,初學的情況下,作爲一個超省資源的操作系統,基本不太考慮佔用情況。

[densintian@rachel ~]$ df
文件系統                        1K-blocks    已用       可用 已用% 掛載點
/dev/mapper/fedora_rachel-root   51475068 5724844   43112400   12% /
devtmpfs                          4050704       0    4050704    0% /dev
tmpfs                             4061004      80    4060924    1% /dev/shm
tmpfs                             4061004     980    4060024    1% /run
tmpfs                             4061004       0    4061004    0% /sys/fs/cgroup
tmpfs                             4061004      20    4060984    1% /tmp
/dev/sda2                          487652  132696     325260   29% /boot
/dev/sda1                          204580    9748     194832    5% /boot/efi
/dev/mapper/fedora_rachel-home 1141335660 2603556 1080732540    1% /home
[densintian@rachel ~]$ 


11. init 0/6 & reboot

init 是Linux必不可少的一個引導進程。進程號永遠爲1。這裏我們只講解他的兩個參數,0 和 6
0 -- 操作系統停機
1 -- 操作系統重啓

Linux還有一個重啓命令reboot
那麼reboot和init 6 有什麼區別呢?

'init 6' 調用一系列shutdown腳本(/etc/rc0.d/K*)來使系統優雅關機; 
'reboot'並不執行這些過程,reboot更是一個 kernel級別的命令,不對應用使用shutdown腳本。 .
我們應該在通常情況下使用 init 6.
在出問題的狀況下或強制重啓 時使用reboot. 

12. which

which可以輸出命令所在的位置
[densintian@rachel ~]$ which cd
/bin/cd
[densintian@rachel ~]$ which ls
alias ls='ls --color=auto'  #這一行表示的是,這個命令會自動應用“--color=auto”這個參數。
	/bin/ls             #這是命令的實際位置
[densintian@rachel ~]$ 

[densintian@rachel ~]$ which ls
alias ls='ls --color=auto'
	/bin/ls
[densintian@rachel ~]$ which ll
alias ll='ls -l --color=auto'  # 通過which 命令,使用者能夠發現,一些命令實際上是由另外的命令添加特別的參數實現的。
	/bin/ls
[densintian@rachel ~]$ 


13. who

who 是查看誰正在登錄這臺電腦。管理登錄對於服務器或者在公網上的服務器來說尤其重要。

[densintian@rachel ~]$ who 
densintian :0           2014-11-01 22:47 (:0)         #這表示的是直接在服務器上登錄
densintian pts/0        2014-11-01 21:43 (localhost)  #pts表示通過終端登錄
[densintian@rachel ~]$





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