|
前提:首先安裝虛擬機以及Ubuntu系統(tǒng),其中遇到 主機支持Inter VT-X但禁用?的提示需要進(jìn)入bios將visual設(shè)置打開 接著根據(jù)需要來安裝需要的軟件,這里先安裝vim以及gcc 一、 目錄的常用命令: 1.? ls 查看當(dāng)前目錄下的內(nèi)容 ls -l??列出長數(shù)據(jù)串,包含文件的權(quán)限和屬性 ls -a? (all)? 列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來 ls -d? ?僅列出目錄本身,不列出目錄內(nèi)容
ls -R?? 連同子目錄的內(nèi)容一起遞歸列出(改目錄下的內(nèi)容全都會顯示出來) ls file1 file2? ?列出f1和f2兩個目錄文件中所包含的目錄項,并隱含指出按英文字母順序列表 2. cd 進(jìn)入/退出目錄 3. mkdir 建立新的文件夾 mkdir dir{1,2,3}? ?mkdir dir1 dir2 dir3 創(chuàng)建多個目錄 mkdir -p mp1/mp2/mp3? ?創(chuàng)建聯(lián)級目錄
4. cp file1 目標(biāo)目錄? -r? ? 遞歸持續(xù)復(fù)制,用于目錄的復(fù)制 cp? file1(原文件)? file2(復(fù)制后的文件)? 用于文件的復(fù)制 cp -i file1 file2? 若目標(biāo)文件已經(jīng)存在時,在覆蓋時會先詢問 cp -u file1 file2? 目標(biāo)文件與源文件有差異時才會復(fù)制?? cp -a?file1 file2? 將文件的特性一塊復(fù)制 cp -p?file1 file2? 和-a差不多,常用于備份
5.?mv file 目標(biāo)目錄? ? ?移動文件至目標(biāo)目錄 也可以移動很多文件,只要最后是目標(biāo)文件夾,中途不出現(xiàn)目錄就行
而且linux沒有改名命令,需要在移動的時候改名
如果只想單單改名的話就只在當(dāng)前目錄mv file1 file2
6. rm 文件? ?刪除文件 rmdir 目標(biāo)空文件夾? ? ?只能刪除空的文件夾 rm -r 目標(biāo)文件夾? ? ? ? ? (遞歸)刪除非空文件夾
二、文件的常用命令 1.? echo xxx 重定向 > 覆蓋原文件 echo xxx 重定向 >> 追加原文件
2.? 查看文本內(nèi)容 more filename? ? 查看文件內(nèi)容? ?ctrl b前翻? ctrl f 后翻 less filename? ?和more用法相同,但是看完最后一行內(nèi)容不自動退出(more自動退出),需要按q才會退出
3. 查看很長文件的前x行和后x行 head -x filename? tail -x filename??
4. 多個文件一起查看 cat file1 file2 ....
cat file1 file2 file3... >(>>) file4? ?把n個文件連到一塊成為file4
5.??grep?關(guān)鍵字 目標(biāo)文件/目錄文件?? ? ???匹配文件中的行
6.? ?more file | grep 關(guān)鍵字? ? ? ? ? 將要輸出的內(nèi)容交給grep先匹配再輸出? m ? 三、文件的壓縮和打包 打包和壓縮是不一樣的,打包(tar)是把很多小文件放在一起,容量不變,壓縮是用算法將文件大小容量變小 1. 打包和解包? 打包: tar cfv xxx.tar 目標(biāo)文件? (其中cfv分別指create/file/view? 能看到過程 不想看到過程就把v去掉) 解包:tar xfv xxx.tar?
2. 打包 壓縮,解壓 解包 一般都一起用
? 四、文件的查找 1. 根據(jù)文件后綴名找? ?find 目標(biāo)目錄/*.后綴
2.
? 五、Liunx系統(tǒng)命令 多用戶多任務(wù) 1. whoami 顯示當(dāng)前的用戶? ? ? ? ? who? 顯示誰在線 2. su - 用戶名? ? ? ?切換用戶 su后加-的話不僅賬戶切換過去了,環(huán)境變量什么的也都切換過去了,不加-的話,僅僅使用這個用戶的權(quán)限,不使用其他 3. free查看內(nèi)存 4. top 查看資源管理器 5. ps -aux? 查看進(jìn)程? ? ? ? ? ? ps -aux | grep 關(guān)鍵字? ? 查看關(guān)鍵字的進(jìn)程 6. kill? 進(jìn)程號? ? ? ??殺掉進(jìn)程,root身份運行? pkill 進(jìn)程名? ? ? ? 通過進(jìn)程名殺進(jìn)程,注意殺掉的是 *進(jìn)程名*? 的進(jìn)程 ? 六、文件的掛載
? 七、命令模式下的光標(biāo)移動快捷鍵
? 八、Linux的用戶管理 1.?添加組 sudo -s? 將用戶身份提升為管理員 groupadd? 組名? ? ? 添加組(系統(tǒng)自動分配id) groupadd? -g? id? ?組名? ? ? ?添加組(自己指定id)
more /ect/group??進(jìn)行查看 2. 修改組 groupmod -g? 新id? 原組名? groupmod -n? ?新組名? 原組名 3. 刪除組 groupdel? 組名
? 4. 添加一個用戶 useradd? 用戶名? ? 添加一個用戶會自動添加一個與用戶同名的組
所以我們添加用戶的時候指定組 useradd? 用戶名 -g 原先存在的組名 useradd? 用戶名 -d 家目錄? ? ? ? ?修改家目錄
新建的poly也屬于1002組? 所以顯示組的時候不會顯示poly 5.?修改用戶 usermod -g 要移動到的組名 要移動的組名? ? ? ? ?移動用戶去別的組
6. 刪除用戶 userdel 用戶名 ? 九、權(quán)限管理 1. 讀(read 4)、寫(write? 2)、執(zhí)行權(quán)限(excute 1) rwx 7? ? ? ? ? -wx 3 rw- 6? ? ? ? ? -w- 2 r-x 5? ? ? ? ? ?--x r-- 4 2. 用戶的三種身份 主人user? ?同組group? 不認(rèn)識other? (u 7? g 5??o 5) 3. 修改權(quán)限的辦法(兩種) 相對法和絕對法 相對法:在原有權(quán)限基礎(chǔ)上,對不同的角色進(jìn)行權(quán)限的加/減 1. chmod u /- r/w/x? 文件名 先寫一個小腳本test.sh
ll 查看文件權(quán)限,這里可以看到test.sh的user權(quán)限是rw 不可執(zhí)行
此時修改權(quán)限 chmod u x test.sh 此時文件就有了執(zhí)行的權(quán)限? ? ?./test.sh? 執(zhí)行一下
如果將此文件的權(quán)限變成 ---- -wx --x,需執(zhí)行 chmod u-rwx test.sh? ?/ chmod g-r wx test.sh? /? chmod o-r x test.sh 2. 修改一個文件的主人和組 chown 新用戶 文件
chgrp 新組名 文件
? 絕對法:不需要考慮之前的角色以及對應(yīng)的權(quán)限,直接指定最終的各角色權(quán)限 比如上面的例子,如果將test.sh修改回原來的權(quán)限,只需要 chmod 744(自己計算)? test.sh? 適合改動比較大的 ? 十、rpm軟件管理包 三種安裝軟件方法 rpm/yum/軟件編譯 rpm red hat package manager是一個開放的軟件包管理系統(tǒng) RPM有五大功能:安裝卸載升級查詢驗證 RPM包名稱有其特有的格式 name-version.type.rpm rpm -i <rpm file name>? ? ?安裝特定的軟件 rpm -e <package name>? ? 卸載軟件 rpm -q <package name>? ? 查詢特定的軟件包是否在系統(tǒng)里被安裝 rpm -U <rpm file name>?升級 yum 管理rpm包的后臺程序,用python寫成
? 十一、安裝mysql sudo apt-get install mysql-server mysql-client 安裝完成過后需要切換到root用戶下才能登錄,而且默認(rèn)安裝后mysql是沒有密碼的,此時需要進(jìn)入mysql里修改密碼 1.update mysql.user set authentication_string=PASSWORD(“8888″) where User=’root’ and Host ='localhost'; 2.update mysql.user set plugin=”mysql_native_password”; 3.flush privileges; 4.quit; 然后再重啟mysql服務(wù) sudo /etc/init.d/mysql stop/start 此時就能用密碼登錄mysql了 ****MySQL安裝后的目錄結(jié)構(gòu)分析(此結(jié)構(gòu)只針對于使用apt-get install 在線安裝情況): 數(shù)據(jù)庫存放目錄: /var/lib/mysql/ 相關(guān)配置文件存放目錄: /usr/share/mysql 相關(guān)命令存放目錄: /usr/bin(mysqladmin mysqldump等命令) 啟動腳步存放目錄: /etc/rc.d/init.d/
首先打開一個終端,在終端里能做的操作,以及在終端里執(zhí)行的命令,都能同樣的寫到.sh腳本里去(參照windows下的.bat文件來理解) 1.現(xiàn)在來寫一個最簡單的腳本文件
2.自定義變量/系統(tǒng)變量/命令值返回變量
3. 命令表達(dá)式/文件判斷表達(dá)式 格式 [-d ./filename] -d 判斷文件是否存在且是目錄 -f 文件是否存在且是文件 -e 是否存在? -r是否可讀? -w是否可寫? -x是否可執(zhí)行
? 十三、定時任務(wù) crontab -e? ?進(jìn)入任務(wù)編輯狀態(tài) 格式:*****(分時日月周) 命令 例如: 21*** aaa #?每天1:02執(zhí)行aaa命令? ? ? */2**** bbb #代表每兩分鐘執(zhí)行bbb命令
執(zhí)行結(jié)果會被發(fā)送到root郵箱里,如果不想收到定時任務(wù)的信息,可以把輸出重定向 21*** aaa >/dev/null 2>&1 ? 十四、數(shù)據(jù)庫的定期備份 目標(biāo):每天三點,導(dǎo)出sql,壓縮,并按日期存儲在/data 下 知識:crontab定時任務(wù) mysqldump導(dǎo)出 tar壓縮 按日期創(chuàng)建文件 1.按日期創(chuàng)建文件 date %Y%m%d%H%M date -d "-3 minutes" %Y%m%d%H%M 2.mysqldump導(dǎo)出 注意mysqldump的命令所在文件夾 (我這里是/usr/bin) 執(zhí)行:?/usr/bin/mysqldump -uroot -p(密碼)? -B(數(shù)據(jù)庫名) > /data/filename.sql 3.tar壓縮 tar cfvz /data/文件名.tar.gz? /data/filename.sql 4.定時任務(wù) */1 **** /bin/bash /data/bak.sh
? ? ? 來源:http://www./content-3-129201.html |
|
|