馬哥教育網絡21期+第二周練習博客
復習第一節課內容: 1,計算機的組成及其功能: 運算器,控制器,存儲器,輸入設備,輸出設備 2,Linux的發行版: shackware,debian,redhat 3,Linux的哲學思想 一切介文件把幾乎所有資源,包括硬件設備組織成文件格式由眾多單一目的小程序組成大程序: 盡量避免跟用戶交互,使用腳本完成程序復雜,使用純文本文件保存配置信息: 在Linux所有文件都是已根目錄成倒樹型結構模式進行文件存儲: 4,Linux系統上命令的使用格式: 運行命令: 命令格式: COMMAND [OPTION…] [ARGUMENTS…] 選項:用于啟用或關閉命令的某個或某些功能 短選項:-c例如:-l,-h 多個短選項可命令使用,例如-l -h 可寫作-lh 長選項:–word,例如:–long,–human-readable 參數:命令的作用對象 向命令提供數據: 注意:多選項,以及多參數和命令之間都應該使用空白字符分割 取消命令執行:Ctrl+c 詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用 1,ifconfig:顯示地址命令 [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:B5:54:45 inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:feb5:5445/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9563 errors:0 dropped:0 overruns:0 frame:0 TX packets:2522 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:867941 (847.5 KiB) TX bytes:228411 (223.0 KiB) 2,echo命令回顯: [root@localhost ~]# name=hhhhh [root@localhost ~]# echo $name hhhhh<--此處請注意‘’“”··區別 3,tty顯示終端機連接標準輸入設備的文件名稱: [root@localhost ~]# tty /dev/pts/1 4,startx啟動 X Windows 5,export設置或顯示環境變量: [root@localhost ~]# export $PATH -bash: export: `/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin': not a valid identifier 6,pwd顯示當前所在目錄: [root@localhost etc]# pwd /etc 7,history顯示歷史命令: 8,shutdown,poweroff,reboot系統關機命令: 9,hwclock顯示與設定硬件時鐘: 10,date顯示或設置系統時間日期:
1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
cp:復制命令
-
cp [OPTION]… [-T] SOURCE DEST
-
cp [OPTION]… SOURCE… DIRECTORY
-
cp [OPTION]… -t DIRECTORY SOURCE…
cp SRC DEST
SRC是文件:
如果目標文件不存在,新建DEST,并將SRC中的內容至DEST中; 例如:復制/etc/fstab 到tmp下的fstab111文件,首先查看tpm下是否有fstab111文件: 下面使用cp命令: [root@localhost ~]# cp /etc/fstab /tmp/fstab111 使用cat命令查看/tmp/fstab111文件: [root@localhost ~]# cat /tmp/fstab111 # /etc/fstab # Created by anaconda on Sun Jul 10 08:30:21 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=36e12a53-107b-4f2c-93d2-1a4836d67bab / ext4 defaults 1 1 UUID=b66484d9-582d-4371-b4d0-e4ced790c209 /boot ext4 defaults 1 2 UUID=001595df-98dd-441b-bb32-267407ff2e30 /home ext4 defaults 1 2 UUID=6578a451-4708-43da-b64c-376745edcefe swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 OK:這樣就可以看出,在/tmp并沒有fstab111這個文件,使用cp命令可以在/tmp下面創建fstab111這個文件以及并將/etc/fstab這個文件復制到/tmp下的fstab111這個文件當中:
如果目標文件存在:
如果DEST是文件:將SRC中的內容覆蓋至DEST中; 注意:此時建議使用cp命令使用-i選項: [root@localhost etc]# cp -i /etc/inittab /tmp/fstab111 cp: overwrite `/tmp/fstab111'? y [root@localhost etc]# cat /tmp/fstab111 # inittab is only used by upstart for the default runlevel.
如果DEST是目錄:在DEST下新建與原文件同名的文件,并將SRC中內容填充至新文件中;
###
[root@localhost aaa]# ls fstab [root@localhost aaa]# cp /etc/inittab /tmp/aaa/ [root@localhost aaa]# ls fstab inittab
cp SRC…DEST SRC…:多個文件DEST必須存在,且為目錄:其他情形均會出錯
[root@localhost aaa]# ls [root@localhost aaa]# [root@localhost aaa]# cp /etc/fstab /etc/inittab /tmp/aaa [root@localhost aaa]# [root@localhost aaa]# ls fstab inittab
cp SRC…DESTSRC是目錄:
則使用選項:-r
如果SRC是目錄:則使用-r選項,DEST如果不存在,則創建目錄,如果DEST存在,則將SRC及其下的文件復制到DEST中:
注:如果DEST是文件,則會報錯
mv:move 移動文件
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...
常用選項:
-i:交互式 -f:強制
rm:remove 刪除
rm [OPTION]... FILE... 常用選項: -i: 交互式 -f: 強制刪除 -r: 遞歸
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash 中命令輸入完成以后,有時候會沒有現象,使用bash中的工作特性至命令執行狀態返回值可以查看次命令是否執行成功: 使用[root@localhost ~]# echo $? 如果狀態返回值為0表明此命令成功: 如果狀態返回值非0表明此命令失?。?/pre>(1)、創建/tmp目錄下的:ac, ad, bc, bd
[root@localhost tmp]# mkdir /tmp/{a,b}_{c,d} [root@localhost tmp]# ls aaa a_c a_d bc bd ccc fstab111 orbit-gdm pulse-Hkrlpu85Ha6Q pulse-RyquxrS9hZeu yum.log ac ad bbb b_c b_d ddd keyring-gPIlCB orbit-root pulse-mikoHiMbrMNL virtual-root.4oeO(2)、創建/tmp/mylinux目錄下的:
mylinux/ ├── bin ├── boot │ └── grub ├── dev ├── etc │ ├── rc.d │ │ └── init.d │ └── sysconfig │ └── network-scripts ├── lib │ └── modules ├── lib64 ├── proc ├── sbin ├── sys ├── tmp ├── usr │ └── local │ ├── bin │ └── sbin └── var ├── lock ├── log └── run mkdrir -p /tmp/mylinx/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{local,log,run}}4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
[root@localhost ~]# ls -l /etc/passwd -rw-r--r--. 1 root root 1625 Jul 10 08:48 /etc/passwd 第一代表的文件格式: 1,-(f):普通文件 2,d:目錄文件 3,b:塊設備文件 4,c:字符設備 5,l:符號連接 6,p:管道文件 7,s:套接字文件 第二代表所屬的用戶的權限,屬組的權限,其他用戶的權限: r:只讀 w:可寫 x:執行 以及后面的屬主,屬組,大小,最后一次的訪問時間 使用stat查看時間戳: [root@localhost ~]# stat /etc/passwd File: `/etc/passwd' Size: 1625 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 1181800 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-07-10 08:48:03.218558331 -0400 Modify: 2016-07-10 08:48:03.215558332 -0400 Change: 2016-07-10 08:48:03.215558332 -0400 三個時間戳: **access time:訪問時間,簡寫為atime,讀取文件內容** **modify time: 修改時間, mtime,改變文件內容(數據)** **change time: 改變時間, ctime,元數據發生改變** 使用touch命令修改時間戳: touch [OPTION]... FILE... -a: only atime -m: only mtime -t STAMP: [[CC]YY]MMDDhhmm[.ss] -c: 如果文件不存,則不予創建5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
使用alias命令進行命令別名: 使用alias顯示當前shell進程所有可用的命令別名: [root@localhost tmp]# alias alias cp='cp -i' alias grep='grep --color' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' alias NAME='VALUE'定義別名NAME,其相當于指明命令VALUE; 注意:定義命令別名的時候,僅對當前shell進程有效,如果想永久有效,要定義在配置文件中: 僅對當前用戶:~/.bashrc 對所有用有效:/etc/bashrc bash進程重新讀取配置文件: 使用source命令重新定義bash進程?。? 撤銷別名:unlaias unalias [-a] name [name ...] Note: 如果別名同原命令的名稱,則如果要執行原命令,可使用"\COMMAND";☆★☆★6,文件通配符:☆★☆★
*:任意長度字符 ?:任意單個字符 []:匹配指定范圍內的任意單個字符 [0-9]:0到9的任意單個數字 [a-z]:不區分字符的大小寫 [A-Z]:大寫字母 [^]:匹配指定范圍以外的任意單個字符 **專用字符集合:** [:digit:]:任意數字,相當于0-9 [:lower:]:任意小寫字母: [:upper:]: 任意大寫字母: [:alpha:]: 任意大小寫字母: [:alnum:]:任意數字或字母: [:space:]:空白字符: [:punct:]:標點符號:6,練習:
1,顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。 ls /var/l*[0-9]*[[:lower:]] 2,顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。 ls /etc/[0-9]*[^[:digit:]] 3,顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。 ls /etc/[^[:alpha:]][[:alpha:]]* 4,在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。 [root@localhost tmp]# touch /tmp/tfile`date +%F-%H-%M-%S` 5,復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。 [root@localhost tmp]# cp -rf /etc/p*[^[:digit:]] /tmp/mytest1 6,復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。 [root@localhost tmp]# cp -rf /etc/*.d /tmp/mytest2 復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中 cp -rf /etc/[1,m,n]*.conf /tmp/mytest3/原創文章,作者:wostop,如若轉載,請注明出處:http://www.www58058.com/23957
寫的很好,排版也很棒,加油