今天是第一天上課,上午老師介紹了linux的發展歷史。告訴我們以後的課程設置等。
上午:
操作系統:負責直接跟硬件打交道,可以說是個虛擬機,上層的應用程序方便的調用,共享。
底層--》os--》庫--》(應用程序)shell--》用戶
》應用程序(shell)--》用戶
在linux上的庫遵循POSIX標準。
shell是個界面,人機接口:GUI,CLI(命令行接口)
linux只是一個內核,一個軟件
linux的發行商:
redhat(主流,做企業版),suse(主流),slackware(現存最古老的),debian(主流),Ubuntu,Fedora(基於redhat的個人版),gentoo(電驢應用),LFS
linux的三個版本:
RedHat (企業版(服務器級別))
:GPL--》GPLv2--》GPLv3
:LGPL
CentOS(服務器級別的社區版(開源))和redhat完全兼容。
fedoea (redhat個人版(開源))
linux認證:
rhcsa(rhct)--》RHCE--》RHCA
什麼是開源?Open Source
FSF:1 The freedom to run the program for any purpose
2 The freedom to study and modify the source code
3 The freedom to redistribute the program
4 The freedom to create derivative programs
linux 起源
GNU:1984,GPL
Linus:1991,linus Torvalds
下午:
開始講linux中的命令
linux中prompt(提示符)
#(管理員)
$(普通用戶)
虛擬終端:(快捷鍵ctrl+alt+f1-f6,tty1-tty6)
圖形終端:
第一次啓動:#startx &
非第一次啓動:ctrl+alt+F7
任何一個命令在自己正常執行結束之前,都不會釋放命令提示符
GUI #startx -- :如何啓動第二個圖形界面
模擬終端:右鍵--open ter
用戶兩類:
管理員:特權用戶
普通用戶:正常用戶
用戶切換命令(switch user):su
su student 轉換用戶(本質還是root)
su - student 完全改變成student用戶
=su -l student
id 查看當前登錄用戶
uid
gid
groups
#command opt1 opt2 opt3 argument1 argument2
選項是什麼:修改命令執行特徵(-l)
選項有兩類:
長選項:--help
短選項:-help
同時使用多個選項,之間用空格隔開
參數:命令的作用對象(/bin)
參數和選項之間也要用空格隔開
必須在命令提示符下才能執行命令
shell:鍵入命令,並執行
bash
bsh(最老的shell)
bash的特徵
1,命令歷史,並且記住過去一千條的命令
2,實現命令補全
3,路徑補全
4,管道操作
5,編程
bash:
內部命令:自身所帶命令。
外部命令:每當用戶執行命令
cd,su,exit內部命令
type cd 判斷cd是不是一個內部命令
ls
linux哲學思想:
1、一切皆文件
2、體積小且功能單一的程序,組合小程序完成複雜任務
3、儘可能避免捕獲用戶接口(儘可能少的和用戶交互)
4、使用純文本文件保存配置信息
5、儘可能使用少的字符串表示命令(簡寫)
命令歷史:上下箭頭
顯示命令歷史:history his敲table健剛執行的命令補全 要是沒有,雙擊table健
history N 顯示過去N條命令
!!執行最近一次命令
!string 執行命令歷史裏面這段字符串開頭的命令
!N 執行過去第N個命令
!-N 執行倒數第N個命令
如何調用最近一次執行的那個命令的參數:! $ ; Alt + . ; Esc + .
history -c 清除命令歷史
文本編輯器:全屏編輯
nano
linux所有的命令都開始於/
文件名嚴格區分大小寫
/根 /在中間表示路徑分隔符
路徑:
相對路徑:相對於當前位置開始的路徑./bin/sys
絕對路徑:從根開始的路徑/etc/bin/sys
.
..
.file:所有以點號開始的文件,就表示隱藏文件
FHS:/,bin,etc,
/bin,binary二進制文件放在這下面
/sbin
/boot,引導目錄:系統啓動的時候,會用到,內核文件(vmlinuz)
/dev,device,設備文件,特殊文件
/etc,常見可執行文件的配置文件
/home/USERNAME,/root 家目錄,用戶的主目錄
/lib,庫文件(二進制文件)
/media,/mnt,掛載點目錄
/misc
/opt
/proc:目錄中的文件 僞文件
/sys:磁盤或者跟硬件驅動相關聯的一些位於內存中的文件
/selinux,跟selinux相關安全策略文件等;
/tmp,臨時文件
/usr
/usr/bin
/usr/sbin
/usr/lib
/usr/share 幫助文件,語言庫。。
/usr/local/bin
/usr/local/sbin
/usr/local/lib
/var 系統的日誌文件,用戶的任務計劃,用戶的郵件緩衝
文件命名要求:除了/ 都可以做文件名,不建議用#,*
文件名最長255字符
ls [options屬性][argu參數]
-l:顯示文件的詳細屬性信息
-h:對文件大小作單位換算
-a:顯示所有文件
-d:顯示目錄自身而非其內文件的屬性信息
cd 切換目錄 [argu]
cd DIR
cd ~ 回到家目錄
cd ~student 回到student用戶的家目錄
cd - 在上一個命令之間進行切換
pwd:顯示工作目錄,顯示當前在什麼位置
創建、刪除目錄:
mkdir
mkdir /root/test
mkdir ./test
想在root下見一個x/y/z
mkdir /root/x
mkdir /root/x/y
mkdir /root/x/y/z
麻煩
mkdir -p -v =mkdir -pv /x/y/z
rmdir:只能刪除空目錄
文件的創建和刪除:
touch:修改文件的時間標籤
linux:每一個文件都有三個時間標籤
文件最近一次被訪問時間
文件最近一次被修改的時間(內容)
文件最近一次改變的時間,元數據,內容無關
stat命令可以查看文件的屬性信息
touch -a 修改訪問時間
touch -m 修改時間
touch一個不存在的文件,系統立即創建、
rm [options] FILE1,[FILE2,]刪除文件
-i 交互
-v 顯示過程
-r 遞歸刪除
-f 強制刪除
rm -rf 自殺
複製文件 cp SOURCE
cp SFILE1,[SFILE2,,,,】 DEST
DEST是一個已經存在的文件
DEST事先不存在,自動創建一個
DEST是一個已經存在的目錄,不能複製
-r 可以複製目錄,表示遞歸
-v 顯示過程
-p 保存保留原有屬性,否則會改變時間
mv 移動 SFILE1,[SFILE2,,,,】 DEST
mv /tmp/a.txt /tmp/b.jpg 重命名
目錄可以直接移動
參數:可以是文件或目錄
藍色 目錄
綠色 可執行文件