日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux九阳神功

發(fā)布時(shí)間:2023/12/20 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux九阳神功 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Linux九陽神功


宗旨:技術(shù)的學(xué)習(xí)是有限的,分享的精神是無限的。

一、基礎(chǔ)命令:

1.用戶管理類命令

(1)useradd libang 添加用戶 —— 在home目錄下生成同級(jí)的目錄

(2)userdel -r libang 刪除用戶

(3)passwd libang 修改密碼

(4)su -root 切換到root用戶,并將root用戶的環(huán)境變量同時(shí)帶入

(5)groupadd group 添加名為group的用戶組

(6)groupdel group 刪除名為group的用戶組

注意:

??? adduser創(chuàng)建帳號(hào)的同時(shí),要求用戶輸入密碼

??? useradd需要在創(chuàng)建帳號(hào)后,自行創(chuàng)建密碼passwd

?

2.文件與目錄類命令

(1)ls 查看目錄 (ls [選項(xiàng)] 目錄或文件)

??? ls /home 顯示/home目錄下的文件與目錄(不包含隱藏的)

??? ls -a /home 顯示/home目錄下的文件與目錄(包含隱藏的)

??? ls -l /home 顯示/home目錄下的文件與目錄的詳細(xì)信息

(2)cd 改變工作目錄(cd 目錄名)

??? cd /home/ 進(jìn)入/home目錄

??? cd ..退回到上一級(jí)目錄

??? cd ~ 進(jìn)入用戶主目錄

??? cd - 代表前一個(gè)工作目錄

??? ctrl+h 顯示當(dāng)前目錄下的隱藏文件

(3)cp 復(fù)制文件/目錄 (cp [選項(xiàng)] 源文件或目錄目標(biāo)文件和目錄)

??? cp /home/test /tmp 將/home目錄下的test文件拷貝到/tmp目錄下

??? cp -r /home/dir1 /tmp 將/home目錄下的dir1目錄拷貝到/tmp目錄下

(4)mv 移動(dòng)或改名(mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄)

??? mv /home/test /home/test1 將/home目錄下的test文件更名為test1

??? mv /home/dir1 /tmp 將/home目錄下的dir1目錄移動(dòng)到/tmp目錄下

(5)rm 刪除文件/目錄 (rm [選項(xiàng)] 文件或目錄)

??? rm /home/test 刪除/home目錄下的test文件

??? rm -r /home/dir 刪除目錄下的dir目錄

(6)chmod 改變文件權(quán)限(chmod +x test.txt)

??? chmod 777 test.txt 可讀可寫可執(zhí)行

(7)mkdir 創(chuàng)建目錄(mkdir [選項(xiàng)] 目錄名)

??? mkdir /home/workdir 在/home目錄下創(chuàng)建workdir目錄

??? mkdir -p /home/dir1/dir2/dir3 ?依次創(chuàng)建

(8)du 查看目錄 (du 目錄名)

??? du /tmp

(9)pwd 查看當(dāng)前路徑

(10)echo 顯示字符串變量等

?

3.壓縮打包類命令

*.gz——gzip命令壓縮的文件

*.bz2——bzip2命令壓縮的文件

*.tar——tar命令打包的文件

*.tar.gz——tar打包后,再經(jīng)過gzip壓縮的文件

*.tar.bz2——tar命令打包后,再經(jīng)過bzip2壓縮的文件 (tar xjvf *.tar.bz2)

(1)gzip 壓縮解壓(gzip [選項(xiàng)] 文件名)

??? gzip /root/anaconda-ks.cfg 壓縮文件

??? gzip -d /root/anaconda-ks.cfg.gz 解壓文件

(2)bzip2 壓縮解壓(bzip2 [選項(xiàng)] 文件名)

??? bzip2 /root/anaconda-ks.cfg 壓縮文件

??? bzip2 -d /root/anaconda-ks.cfg.bz2 解壓文件

? ? tar xjvf?name.bz2

(3)tar 打包壓縮(tar [選項(xiàng)] 目錄或者文件)

??? tar cvf tmp.tar /tmp 將/tmp目錄打包為一個(gè)文件

??? tar xvf tmp.tar 將打包文件解開

??? tar cvzf tmp.tar.gz /tmp 將tmp目錄打包為一個(gè)文件

(4)tar xzvf tmp.tar.gz 將打包文件解開

注意:1 gzip不能壓縮目錄,只能壓縮文件

???? 2 壓縮和打包,解壓縮和解包是不同的過程

???? 3 gzip壓縮或者解壓后,原文件不再存在;bzip2提供了-k參數(shù),可以保留原文件

???? 4 windows對(duì)文件壓縮,其實(shí)是先打包在壓縮的過程

?

4.磁盤管理類命令

(1)mount 加載光盤(mount [選項(xiàng)] 類型 設(shè)備名 掛載目錄)

??? mount /dev/csrom /mnt

??? mount -t iso9660 /dev/cdrom /mnt/cdrom

??? 類型:

?????? windows95/98的FAT32系統(tǒng)?? vfat

?????? winNT/2000??? ntfs

?????? CD-ROM??????? iso9660??????

(2)umount 卸載光盤(umount 掛在目錄)

??? umount /mnt (請(qǐng)?jiān)趫?zhí)行umount前,保證用戶已經(jīng)推出了mnt目錄)

(3)df 查看磁盤總?cè)萘?#xff0c;已用容量(df [選項(xiàng)])

??? df -hl

??? du 查看文件已用容量

??? du -h ————針對(duì)目錄

(4)touch 創(chuàng)建新文件

??? touch newfile 創(chuàng)建一個(gè)名為newfile的空白文件

(5)ln 文件鏈接(ln [選項(xiàng)] 文件名 鏈接名)

??? ln oldfile hlink 為oldfile文件創(chuàng)建一個(gè)應(yīng)鏈接hlink

??? ln -s oldfile slink 為oldfile文件創(chuàng)建一個(gè)軟鏈接slink

??? 硬鏈接和軟鏈接的區(qū)別:

(6)fdisk 查看硬盤分區(qū)情況

??? fdisk -l ————擁有root權(quán)限

?

5.查找類命令

(1)find 查找文件/目錄 (find 查找路徑 -name文件名)

??? find /root -name install.log 在root目錄下尋找名為install.log文件

(2)grep 查找字符(grep "字符串" 路徑 [選項(xiàng)])

??? grep "hello" ./ -rn 在當(dāng)前路徑下尋找包含字符串"hello"的文件

?

6.進(jìn)程管理類命令

(1)ps 查看進(jìn)程(ps [選項(xiàng)])

??? ps aux

(2)kill 殺死進(jìn)程(kill [選項(xiàng)] pid)

??? vim hello.c

??? ps aux

??? kill pid (hello.c的進(jìn)程號(hào))

(3)free 查看內(nèi)存

??? free

(4)top CPU占有率(top [選項(xiàng)])

??? top 動(dòng)態(tài)顯示進(jìn)程

(5)pstree 以樹形式打印進(jìn)程

(6)tree 以樹形式打印當(dāng)前目錄

(7)jobs 查看后臺(tái)進(jìn)程和它的作業(yè)號(hào)

??? fg %1??1為作業(yè)號(hào),調(diào)到 前臺(tái)運(yùn)行

??? ctrl+z 正在執(zhí)行的進(jìn)程放在后臺(tái),并停止

??? bg %1??1為作業(yè)號(hào),把后臺(tái)停止的作業(yè)改成 后臺(tái)運(yùn)行

??? 多個(gè)命令的同時(shí)執(zhí)行時(shí),只要將它們用分號(hào)隔開即可。

?

7.雜項(xiàng)命令大聚合

(1)代碼風(fēng)格

??? indent [options] [input-files]

??? indent [options] [single-input-file] [-ooutput-file]

??? indent -kr -bl -bli0 test.c

??? -kr表示K&R風(fēng)格

??? -i8表示縮進(jìn)8個(gè)空格的長(zhǎng)度

??? -l80表示一行最多80個(gè)字符

??? 沒有指定-nut選項(xiàng),則每8個(gè)縮進(jìn)空格會(huì)自動(dòng)用一個(gè)Tab代替

(2)| 管道操作 (命令1 | 命令2)

??? rpm -qa|grep tar 查詢系統(tǒng)中安裝的所有軟件包,并從中找出帶有字符串"tar"的

(3)man?? info?--help查看幫助 (man 命令名)

??? man find 查看find命令的用法

4)shutdown關(guān)閉linux系統(tǒng) (shutdown [選項(xiàng)] 時(shí)間)?

??? shutdown -h 18:00

??? 立即關(guān)機(jī):shutdown now?? init 0?? halt

??? 重啟:init6?? reboot?? shutdown -r

(5)date+%Y/%m/%d 顯示年月日

???? date +%H:%M 顯示小時(shí)和分鐘 (/和:可以用其他符號(hào)代替)

???? cal [[month] year]

(6)將一般用戶改為sudo用戶

??? sudo vim /etc/group

??? 找到類似這樣的一行: sudo:x:27:icawu,sir

??? 在第4列后面加入一般賬戶的名字即可,“,”后不要空格

??? 或者是/etc/sudoers root ALL=(ALL) ALL 在起下面添加xxxALL=(ALL) ALL(這里的xxx是你的用戶名)

(7)od[-t TYPE] 檔案

??? -t :后面可以接各種類型 (TYPE)癿輸出,例如:

??? a :利用默認(rèn)的字符輸出;

??? c :使用ASCII 字符輸出

??? d[size] :利用十進(jìn)制(decimal)輸出數(shù)據(jù),每個(gè)整數(shù)占用size bytes ;

??? f[size] :利用浮點(diǎn)數(shù)(floating)輸出數(shù)據(jù),每個(gè)數(shù)占用size bytes ;

??? o[size] :利用八進(jìn)制(octal)輸出數(shù)據(jù),每個(gè)整數(shù)占用size bytes ;

??? [size] :利用十六進(jìn)制(hexadecimal)輸出數(shù)據(jù),每個(gè)整數(shù)占用 size

??? 例如: hello文件的內(nèi)容 3210o

??? od -tx1 -tc hello? //可以有多個(gè)選項(xiàng),注意1的效果(每1個(gè)字節(jié)隔開)

??? 0000000?33? 32? 31?30? 6f? 0a

???????? ? ?3??2?? 1?? 0??o? \n

(8)內(nèi)核相關(guān)

??? uname -arsmpi

??? -a :所有系統(tǒng)相關(guān)癿信息,包括底下的數(shù)據(jù)都會(huì)被列出來;

??? -s :系統(tǒng)核心名稱

??? -r :核心的版本

??? -m :本系統(tǒng)癿硬件名稱,例如 i686 戒 x86_64 等;

??? -p :CPU的類型,與-m 類似,只是顯示的是 CPU的類型!

??? -i :硬件的平臺(tái) (ix86)

??? 應(yīng)用:cd /usr/src/'uanme -r'/include/linux/fs.h

??? 此句在里ubuntu13.04中不可,linux-headers-3.8.0-19

??? lsmod?查看已加載內(nèi)容

??? lshw??當(dāng)前硬件信息

??? xrandr 查看當(dāng)前分辨率? (xrandr -s 7(第幾行)

(9)cat顯示文本文件內(nèi)容 (cat /etc/issue)

???? more 分頁顯示文本文件內(nèi)容? ——只能向下翻頁

???? less 分頁顯示文本文件內(nèi)容? ——可以上下翻頁

???? head 顯示文件首部?jī)?nèi)容?? (head -5 /etc/passwd)

???? tail 顯示文件尾部?jī)?nèi)容

??? cat /etc/passwd | more/less/head -5/tail -5

(10)which 查看可執(zhí)行文件的位置

??? which which

????? whereis 查看文件位置(全匹配查找)

??? whereis which

????? locate 配合數(shù)據(jù)庫查看文件位置 (局部匹配查找)

??? locate ls

(11)信息查看

??? dmesg 顯示系統(tǒng)的啟動(dòng)信息 (保存在/etc/sysconfig)

??? uptime 關(guān)于系統(tǒng)相關(guān)的時(shí)間信息

??? who 查看當(dāng)前系統(tǒng)用戶 (whoami 只查看當(dāng)前用戶)

??? last 系統(tǒng)用戶登錄信息 (/var/log名為wtmp文件里)

??? hostname 域名

??? bc 計(jì)算器

(12)ubuntu專題:

? <1> apt命令用法: (在ubuntu下可用,redhat不可用)

??? apt-get update? 升級(jí)源

??? apt-get install 安裝新軟件包

??? apt-get remove 卸載已安裝的軟件包

??? apt-get clean? 清理系統(tǒng),不影響安裝的軟件的使用

??? apt-get upgrade 更新任何已安裝的軟件包

??? apt-get dist-upgrade 系統(tǒng)升級(jí)到新版本

??? apt-get search 查找軟件包

??? dpkg-config-list-all (dpkg -l)列出所有軟件包

?

??? sudo apt-get install nautinuls-open-terminal(當(dāng)前位置代開終端) ---重啟生效

??? sudo apt-get autoremove indicator-appmenu? (關(guān)閉全局應(yīng)用菜單)

?

? <2> ubuntu下的幾個(gè)重要文件:

??? (1) 軟件源:/etc/apt/sources.list

??? (2) $PATH:/etc/environment

??? (3) 環(huán)境變量:/etc/profile

??? (4) grub:/boot/grub/grub.cfg

??? (5) 用戶bash:/home/.bashrc(注意以.開頭的文件屬于隱藏文件,用ctrl+h可以顯示)

?

? <3> system setting沒有語言支持: sudo apt-get install language-selector-gnome

? <4> 虛擬機(jī)中VMwareTools的安裝

??? (1)、下載vmwaretools工具包:http://download.csdn.net/download/jiaoxiaogu/6287937

??? (2)、解壓并安裝:

??? - $ tar xzf VMwareTools-9.6.0-1294478.tar.gz

??? - $ cd vmware-tools-distrib

??? - $ sudo ./vmware-install.pl

??? 一直按回車鍵

??? (3)、重啟虛擬機(jī)

?<5> GNU二進(jìn)程工具 (對(duì)ARM很重要,務(wù)必要了解)---redhat/ubuntu

??? addr2line:把程序地址轉(zhuǎn)換為文件名和行號(hào)ar:建立、修改、提取歸檔文件

??? as:主要用來編譯GNU C編譯器gcc輸出的匯編文件,產(chǎn)生的目標(biāo)文件由鏈接器ld連接

??? c++filt:連接器使用它來過濾C++ 和Java 符號(hào),防止重載函數(shù)沖突

??? ld:GNU鏈接器

??? nm:列出目標(biāo)文件中的符號(hào)

?????? R--只讀符號(hào)? N--調(diào)試符號(hào)? D--已經(jīng)初始化的變量? T--text段的符號(hào)

?????? U--未定義的符號(hào)? S--未初始化的符號(hào)

??? objcopy:文件格式轉(zhuǎn)換?

??? objdump:顯示一個(gè)或者更多目標(biāo)文件的信息,主要用來反編譯?

??? ranlib:產(chǎn)生歸檔文件索引,并將其保存到這個(gè)歸檔文件中。在索引中列出了歸檔文件各成員所定義的可重分配目標(biāo)文件

??? readelf:顯示elf格式可執(zhí)行文件的信息? readelf -a a.out

??? size:列出目標(biāo)文件每一段的大小以及總體的大小。默認(rèn)情況下,對(duì)于每個(gè)目標(biāo)文件或者一個(gè)歸檔文件中的每個(gè)模塊只產(chǎn)生一行輸出? size a.out

??? strings:打印某個(gè)文件的可打印字符串。默認(rèn)情況下,只打印目標(biāo)文件初始化和可加載段中的可打印字符;對(duì)于其它類型的文件它打印整個(gè)文件的可打印字符,這個(gè)程序?qū)τ诹私夥俏谋疚募膬?nèi)容很有幫助? strings -f/a hello.o

??? strip:丟棄目標(biāo)文件中的全部或者特定符號(hào),減小文件體積? strip -s a.out

?

<6>windows和ubuntu文件共享之samba服務(wù)器配置

??? 關(guān)閉LINUX防火墻命令: #ufw disable? 然后就在windows下ping一下linux的IP,如果能ping通,就可以繼續(xù)下面的內(nèi)容,如果ping不通就再找找原因

??? 注:ubuntu12.04已經(jīng)安裝了最新版本的samba服務(wù)器,無需安裝。如果使用12.04以前的版本,最好是按下邊的方法升級(jí)一下samba,12.04版本無需下列操作

??? 卸載samba,smbclient,samba-common

??? $sudo apt-get remove samba-common

??? $sudo apt-get remove smbclient

??? $sudo apt-get remove samba

?

??? 安裝Ubuntusamba服務(wù)器:

??? sudo apt-get install samba

??? sudo apt-get install smbfs

?

??? 安裝Ubuntusamba圖形管理界面

??? #sudo apt-get install system-config-samba

?

??? 啟動(dòng)samba圖形管理界面

??? #sudo system-config-samba

??? 選擇要共享的目錄 設(shè)置讀寫權(quán)限 設(shè)置訪問權(quán)限添加samba用戶

??? 配置完成后要重啟samba

??? #sudo /etc/init.d/smbd restart

(13)Elf格式文件

??? GNU編譯器生成的目標(biāo)文件缺省為elf格式

??? elf文件由若干段(section)組成;目標(biāo)代碼中包含如下段:

??? .text:??? 包含程序的指令代碼、固定的數(shù)據(jù),如常量、字符串;

??? .data:??? 包含有初始化值的變量、數(shù)組等;

??? .bss: 包含未初始化的變量、數(shù)組等;

??? 連接器的任務(wù)就是將多個(gè)目標(biāo)文件的.text、.data和.bss等段連接在一起

?

?

二、vim編輯器的使用與配置 參考:http://blog.csdn.net/wqx521/article/details/37913877

??? 1.常用編輯器:

?????? (1) vi/vim 最常用的字符界面文本編輯器

?????? (2) emacs?專為編輯程序源碼文件而編寫的文本編輯器

?????? (3) nano??字符界面底端

?????? (4) gedit?運(yùn)行在Linux圖形界面中

?????????? gedit之亂碼問題

?????????? ?<1> 運(yùn)行dconf-editor

?????????? ?<2> 展開/org/gnome/gedit/preferences/encodings

?????????? ?<3> auto-detected的Value中加入'GB2312' ,加在UTF-8前面;

?????? (5) MC

?? 2.開發(fā)環(huán)境構(gòu)成:

?????? (1) 編輯器:vi/vim

?????? (2) 編譯器:gcc

?????? (3) 調(diào)試器:gdb

?????? (4) 函數(shù)庫:glibc??? /usr/lib

?????? (5) 系統(tǒng)頭文件:glibc_header?? /usr/include

?

三、Linux網(wǎng)絡(luò)配置 (vmware workstation虛擬機(jī))

??? 1.VMware提供了三種網(wǎng)絡(luò)工作模式:

?????? (1).bridged(橋接模式)—— 提供做個(gè)IP地址

?????? (2).NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換模式)——只能提供一個(gè)IP地址

?????? (3).host-only(主機(jī)模式)——主機(jī)沒有連接任何外部網(wǎng)絡(luò)

??? 2.注意事項(xiàng):

?????? (1).選擇網(wǎng)絡(luò)模式前,停止虛擬機(jī)中系統(tǒng)的運(yùn)行

?????? (2).配置完網(wǎng)絡(luò)后,重新啟動(dòng)虛擬機(jī)中的系統(tǒng)

???

??? 3.相關(guān)命令

?????? (1) ifconfig:查看各網(wǎng)卡詳細(xì)信息(如IP),以太網(wǎng)卡名一般為"eth0"

?????? (2) /etc/init.d/networking restart 重啟各網(wǎng)卡

???

??? 4.Linux常見網(wǎng)絡(luò)接口

?????? -eth0:系統(tǒng)中的第一塊物理網(wǎng)卡

?????? -lo:虛擬的回環(huán)網(wǎng)卡

??? ??? -virbr0:網(wǎng)絡(luò)網(wǎng)橋

?

四、遠(yuǎn)程登錄

??? 1.登錄前提

?????? (1) 從windows能夠ping通linux(在ctrl+R--cmd--pingIP地址(在linux里面用ifconfig看IP地址))

?????? (2) 關(guān)閉Linux防火墻——ufw disable (ubuntu)

??? ?

??? 2.putty-SSH軟件,設(shè)置相關(guān)信息.軟件下載地址:http://download.csdn.net/detail/a1314521531/7877905

??? 3.VNC

?????? (1) 安裝vnc服務(wù)器

?????? (2) 啟動(dòng)vnc服務(wù):vncserver &

??? <或者3.在windows端運(yùn)行vnc.exe>

??? VNC常見問題:windows不能ping通linux? 未關(guān)閉防火墻

?

五、Windows與Linux文件共享(redhat)

??? 1.前提條件

?????? (1) 從windows能夠ping通linux(在ctrl+R--cmd--pingIP地址(在linux里面用ifconfig看IP地址))

?????? (2) 關(guān)閉Linux防火墻——/etc/init.d/iptables stop (redhat)?ufw disable (ubuntu)

??? 2.WinSCP軟件(windows中)

?????? 自己摸索一下這個(gè)軟件的使用吧,就是把文件拖進(jìn)拖出

?

??? Vmware Tools不推薦使用

?

??? Windows與Linux文件共享(ubuntu)

??? 1.前提條件

?????? (1) 從windows能夠ping通linux(在windows+R--cmd--pingIP地址(在linux里面用ifconfig看IP地址))

?????? (2) 物理機(jī)和虛擬機(jī)建立通信——sudo apt-get install ssh??? ps-e |grep ssh??? /etc/init.d/ssh start--啟動(dòng)ssh服務(wù)器

??? 2.WinSCP軟件(windows中)

?????? 自己摸索一下這個(gè)軟件的使用吧,就是把文件拖進(jìn)拖出

?

六、Linux密碼故障解決

破解root密碼步驟:

??? (1) 在系統(tǒng)啟動(dòng)時(shí)進(jìn)入grub選項(xiàng)菜單

??? (2) 在grub選項(xiàng)菜單按e進(jìn)入編輯模式

??? (3) 編輯kernel那行,添加/init 1

??? (4) 按b重啟

??? (5) 進(jìn)入系統(tǒng)后,將root密碼設(shè)置為空

??? vim /etc/passwd

?????? root:x:0...中的x刪除

?????? root::0...然后保存退出

??? (6) 重啟,登錄linux后修改root密碼

??? passwd root

?

七、宿主機(jī)上安裝TFTP服務(wù)器 (ubuntu)

??? 配置tftp 服務(wù)的步驟:

??? <1>. 若/etc/xinetd.d/下存在 tftp,執(zhí)行下列操作

?????? 1)關(guān)閉 xinetd 服務(wù)

?????? $sudo service xinetd stop

?????? 2)刪除 tftp 文件

?????? $sudo rm /etc/xinetd.d/tftp

?????? 3) 啟動(dòng)xinetd 服務(wù)

?????? $sudo service xinetd start

??? <2>. 安裝 tftp 客戶端和服務(wù)器端

?????? $sudo apt-get install tftp-hpa

?????? $sudo apt-get install tftpd-hpa

??? <3>. 修改 tftpd-hpa 配置文件

?????? $vim /etc/default/tftpd-hpa

?????? 修改 “/var/lib/tftpboot ” 為 “/tftpboot”

?????? 修改"--secure" 為 "--secure -c" 允許上傳新文件

??? <4>. 若/tftpboot 不存在,創(chuàng)建該目錄

?????? $sudo mkdir /tftpboot

?????? $sudo chmod 777 /tftpboot

??? <5>. 重啟 tftpd-hpa 服務(wù)

?????? $sudo service tftpd-hpa restart

?????? 若服務(wù)重啟成功,能查看到相應(yīng)的進(jìn)程

?????? $ps -ef |grep in.tftpd

?????? 至此tftp 服務(wù)已經(jīng)安裝完成了,下面可以對(duì)其進(jìn)行一下測(cè)試。 (假設(shè)在當(dāng)前目錄下有一個(gè)測(cè)

?????? 試文件 test.txt)

?????? $tftp 127.0.0.1

??? ??? tftp>put test.txt

?????? Sent 1018 bytes in 0.0 seconds

?????? tftp> get test.txt

?????? Received 1018 bytes in 0.1 seconds

?????? tftp> quit

?????? $

??? 通過get 命令,可以把當(dāng)前目錄下的 test.txt 文件,通過tftp 上傳到它的服務(wù)文件目錄。這

??? 時(shí),在/tftpboot 下面會(huì)出現(xiàn) test.txt 文件。通過 put 命令,可以從/tftpboot 下, 下載 test.tx t

??? 文件。這樣就驗(yàn)證了 tftp 服務(wù)配置的正確性。當(dāng)文件上傳與下載結(jié)束后,可以通過 quit 命

??? 令退出。

???

???

??? 安裝、配置nfs服務(wù):

??? <1> 安裝 nfs

?????? Ubuntu 上默認(rèn)是沒有安裝 nfs 服務(wù)器的,因此我們首先安裝 nfs 服務(wù)器端:

?????? $sudo apt-get install nfs-kernel-server

??? 2、配置/etc/exports

?????? nfs 允許掛載的目錄及權(quán)限在文件/etc/exports 中進(jìn)行了定義。

?????? 例如,我們要將根目錄下的 rootfs 目錄共享出來,那么我們需要在/etc/exports 文件末尾添

?????? 加如下一行:/rootfs *(rw,sync,no_root_squash)

?????? 其中:/rootfs 是要共享的目錄,*代表允許所有的網(wǎng)絡(luò)段訪問,rw 是可讀寫權(quán)限,sync 是資

?????? 料同步寫入內(nèi)存和硬盤,no_root_squash 是 nfs 客戶端分享目錄使用者的權(quán)限,如果客戶端

?????? 使用的是 root 用戶,那么對(duì)于該共享目錄而言,該客戶端就具有 root 權(quán)限。

?????? 其它nfs 常用的參數(shù)有:

?????? ro 只讀訪問

?????? rw 讀寫訪問 sync 所有數(shù)據(jù)在請(qǐng)求時(shí)寫入共享

?????? async nfs 在寫入數(shù)據(jù)前可以響應(yīng)請(qǐng)求

?????? secure nfs 通過 1024 以下的安全 TCP/IP 端口發(fā)送

?????? insecure nfs 通過 1024 以上的端口發(fā)送

?????? wdelay 如果多個(gè)用戶要寫入 nfs 目錄,則歸組寫入(默認(rèn))

?????? no_wdelay 如果多個(gè)用戶要寫入 nfs 目錄,則立即寫入,當(dāng)使用 async 時(shí),無需此設(shè)置。

?????? hide 在nfs 共享目錄中不共享其子目錄

?????? no_hide 共享 nfs 目錄的子目錄

?????? subtree_check 如果共享/usr/bin 之類的子目錄時(shí),強(qiáng)制 nfs 檢查父目錄的權(quán)限(默認(rèn))

?????? no_subtree_check 和上面相對(duì),不檢查父目錄權(quán)限

?????? all_squash 共享文件的 UID 和 GID 映射匿名用戶anonymous ,適合公用目錄。

?????? no_all_squash 保留共享文件的 UID 和GID(默認(rèn))

?????? root_squash root 用戶的所有請(qǐng)求映射成如 anonymous 用戶一樣的權(quán)限(默認(rèn))

?????? no_root_squas root 用戶具有根目錄的完全管理訪問權(quán)限

?????? anonuid=xxx 指定 nfs 服務(wù)器/etc/passwd文件中匿名用戶的 UID

?????? anongid=xxx 指定 nfs 服務(wù)器/etc/passwd文件中匿名用戶的 GID

??? 3、重啟服務(wù)

?????? $sudo /etc/init.d/portmap restart

?????? $sudo /etc/init.d/nfs-kernel-serverrestart

??? 4、測(cè)試 nfs

?????? 此時(shí)可以運(yùn)行以下命令來顯示一下共享出來的目錄:

?????? $showmount -e

?????? 或者可以使用以下命令把它掛載在本地磁盤上,例如將/rootfs 掛載到/mnt 下:

?????? $ sudo mount -t nfs localhost:/rootfs/mnt

?????? 可以運(yùn)行 df 命令查看是否掛載成功。查看后可以使用以下命令卸載:

?????? $ sudo umount /mnt

?

八、Linux編譯器GCC (gcc -v 查看gcc版本)

??? ——其執(zhí)行效率與一般編譯器相比平均效率要高20%~30%

??? 1.基本用法 (gcc [options] filenames)

?????? gcc *.c??./a.out

??? 2.GCC編譯流程

??? gcc通過后綴來區(qū)別輸入文件,常見類型:

?????? .c為后綴的文件:c語言源代碼文件

?????? .a為后綴的文件:是由目標(biāo)文件構(gòu)成的庫文件

?????? .C,.cc為后綴的文件:是c++源代碼文件

?????? .h為后綴的文件:頭文件

?????? .o為后綴的文件:是編譯后的目標(biāo)文件

?????? .s為后綴的文件:是匯編語言源代碼文件

?????? .m為后綴的文件:Objective-C原始程序

?????? .so為后綴的文件:編譯后的動(dòng)態(tài)庫文件

?

?????? 源程序, 預(yù)處理,編譯,匯編,連接,可執(zhí)行

?????? 預(yù)處理階段: 條件編譯,頭文件包含,宏替換的處理

?????? 預(yù)處理 gcc -E test.i test.c?? // gcc-E test.c -o test.i 輸入為源代碼輸出為源代碼(文本文件)(不作語法檢查)

?????? 編譯gcc -S test.c -o test.s???? //輸入為預(yù)處理源代碼,輸出為匯編源代碼(intel的匯編指令)(文本文件)(做語法檢查,需函數(shù)的原型聲明)

?????? 匯編gcc -c test.c -o test.o???? #輸入為匯編源碼,輸出的二進(jìn)制代碼不能被執(zhí)行(不含庫函數(shù)的二進(jìn)制文件)

?????? .so 的庫文件

?????? 連接gcc test.o -o test?? (和庫文件進(jìn)行連接)

?

?

??? 3.gcc編譯選項(xiàng)

?????? -o output_option:確定可執(zhí)行文件的名稱

?????? -O 對(duì)程序進(jìn)行優(yōu)化

?????????? gcc optimize.c -o optimize ? ? ? ? ? ./optimize

?????????? gcc -O optimize.c -o optimize ? ? ?./optimize

?????? -c 不鏈接,生成.o為后綴的中間文件

?????? -g 長(zhǎng)生調(diào)試工具所需要的符號(hào)信息

?????? -Wall 生成所有警告

?????? -w 不生成任何警告

?????? -DMACRO 定義MACRO宏,等效于在程序中使用#define MACRO

?

九、Linux調(diào)試器GDB

GUN的調(diào)試程序gdb,用來調(diào)試c和 c++ 程序的調(diào)試器

設(shè)置所有能影響程序運(yùn)行的參數(shù)

指定條件下停止運(yùn)行

?

gdb調(diào)試的對(duì)象是可執(zhí)行文件而不是程序的源代碼文件

需在執(zhí)行g(shù)cc指令編譯程序時(shí),加上-g,才能調(diào)試

gdb使得機(jī)器碼和源代碼相關(guān)聯(lián)

??? gcc -g -o debugme debugme.c

??? gdb debugme

??? 斷點(diǎn)break?? 行號(hào)/函數(shù)/文件名:行號(hào)(函數(shù)名)

??? break(b)?25

??? break main

??? info break:查看斷點(diǎn)y表示生效n表示失效

??? disable+斷點(diǎn)號(hào)?? 斷點(diǎn)失效

??? enable + 斷點(diǎn)號(hào)

??? run(r) 啟動(dòng)程序

??? print i??查看變量的值

??? step(s) 執(zhí)行一行停到下一行 ;會(huì)進(jìn)入子程序內(nèi)部;跳到子程序中

??? next??執(zhí)行一行停到下一行 ;把子函數(shù)當(dāng)成單步執(zhí)行

??? quit? 退出調(diào)試

??? continue 跳到下一個(gè)斷點(diǎn)處

??? finish 結(jié)束子程序的運(yùn)行

??? Enter: 進(jìn)行上一步的操作

?

??? gdb -d 目錄名???? 指出源碼所在位置

??? print arry[0]@5?? 查看連續(xù)的存儲(chǔ)單元的值

??? p/x arry[0]@5?? 以十六進(jìn)制顯示

??? print &i

??? print *arry

??? break 37 if i==15? :條件斷點(diǎn), 當(dāng)i==15時(shí)才停下來

??? watch 設(shè)置監(jiān)視點(diǎn)(監(jiān)視表達(dá)式的變換)(變量)

??? break 制定了特定的位置(監(jiān)視某位置)

??? watch j :j的變量變換就會(huì)停下來

??? continue

??? rwatch 設(shè)置讀監(jiān)視點(diǎn)

??? set variable i=100 運(yùn)行時(shí)人工改變變量的值

??? return 返回值

??? where 和backtrace???? 顯示程序運(yùn)行位置和函數(shù)調(diào)運(yùn)棧

??? up , down :遍歷函數(shù)調(diào)運(yùn)棧

??? up 上升一個(gè)函數(shù)調(diào)運(yùn)棧

??? down

??? print?main::i

??? list 列出當(dāng)前運(yùn)行行附近的行

??? whatis i??:i是什么類型

??? whatis main

??? ptype :明細(xì)顯示變量和函數(shù)的數(shù)據(jù)類型

??? search 搜索字符串

??? revarse search

??? shell pwd????????? 執(zhí)行shell命令

??? info file????? 顯示調(diào)試文件的信息

??? info func??????? 顯示函數(shù)名

??? info local 局部變量的信息

??? info prog??顯示調(diào)試程序的執(zhí)行狀態(tài)

??? set args調(diào)試加參數(shù):set args 參數(shù)1 參數(shù)2

?

十 segement fault

1.段錯(cuò)誤產(chǎn)生原因:數(shù)組訪問越界 訪問空指針 棧溢出 修改只讀內(nèi)存

2.通過ulinit命令打開/關(guān)閉core dump功能

??? 打開:ulimit-c unlimited

??? 關(guān)閉:ulimit-c 0

??? ulimit -c 1000 ---指定大小

3.core文件分析

??? gdb 程序名 core文件名

4.什么時(shí)候不產(chǎn)生core文件

??? (a)進(jìn)程是設(shè)置-用戶-ID,而且當(dāng)前用戶并非程序文件的所有者;

??? (b)進(jìn)程是設(shè)置-組-ID,而且當(dāng)前用戶并非該程序文件的組所有者;

??? (c)用戶沒有寫當(dāng)前工作目錄的許可權(quán);

??? (d)文件太大。core文件的許可權(quán)(假定該文件在此之前并不存在)通常是用戶讀/寫,組讀和其他讀。

??? ?

5.解決方法

??? (1) 利用gdb逐步查找段錯(cuò)誤

??? (2) 分析Core文件

??? (3) 段錯(cuò)誤時(shí)啟動(dòng)調(diào)試

??? (4) 利用backtrace和objdump進(jìn)行分析 (objdump -d a.out)?

?

?

總結(jié)

以上是生活随笔為你收集整理的Linux九阳神功的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 偷自拍 | 亚洲一区二区中文 | 成人av动漫在线 | 中国黄色片视频 | 日韩精品在线观看免费 | 久久综合伊人77777麻豆 | 午夜影院在线 | 国产一级视频 | 熟妇无码乱子成人精品 | 国产极品尤物 | 国产视频日本 | 久久久午夜| 国产视频污在线观看 | 777久久久 | 青青草国产在线视频 | 韩国黄色视屏 | 波多野结衣一区二区三区在线观看 | 国内精品国产成人国产三级 | 国产在线拍揄自揄拍无码 | 中文字幕乱码一区二区三区 | 尹人久久| 国内激情自拍 | 麻豆三级 | 亚洲av永久中文无码精品综合 | 成年人午夜影院 | 二区三区在线视频 | 欧美69久成人做爰视频 | 德国性猛交xxxxhd | 欧美一级黄色大片 | 成人av中文解说水果派 | 国产精品视频久久久久久久 | a视频免费在线观看 | 一级视频在线免费观看 | 91成人免费在线 | 亚洲3p| 欧美在线国产 | 99热99精品 | 日本暧暧视频 | 九九精品在线观看 | 亚洲天堂中文字幕在线 | 网友自拍第一页 | 精品爆乳一区二区三区 | 57pao成人国产永久免费视频 | 久久久久久久久久免费视频 | 日韩国产精品一区二区三区 | 一区二区三区免费观看 | 色网在线视频 | 日韩欧美一区二区视频 | 日本一区二区免费视频 | 一卡二卡三卡在线视频 | 熟妇大屁股一区二区三区视频 | 国内精品视频在线播放 | 毛片网站在线播放 | 911国产视频| 草草草av| av爱爱网站 | 中文字幕一区二区三区电影 | 欧美一级特黄视频 | 91久久精品一区二区三区 | 日本三级日本三级日本三级极 | 色丁香婷婷综合久久 | 最近高清中文在线字幕在线观看 | 精品国产乱码久久久久久蜜柚 | 91色九色 | 波波野结衣 | 国产一区一一区高清不卡 | 麻豆av免费看 | 日韩综合另类 | 加勒比一区二区 | 四川操bbb| 精品一区二区三区在线观看 | 欧美精品在线一区二区三区 | 红桃视频一区二区三区免费 | 国产三区av| 欧美一级黄色片子 | 欧美激情一区二区三区在线 | 免费人成又黄又爽又色 | 欧美一区二区三区影院 | 国产精品视频一区二区三区 | 熟女毛片 | 曰批女人视频在线观看 | 亚洲av无码潮喷在线观看 | 99久久99久久精品国产片果冻 | 国产亚洲色婷婷久久 | 韩国黄色av | 色综合免费视频 | 日本一区二区视频免费 | 国产三级全黄 | 男生插女生的网站 | 又黄又湿的网站 | 午夜国产福利视频 | 成人永久免费视频 | 成人性视频网 | 久久国产在线视频 | 欧美精品在线第一页 | 欧美另类tv | 日韩网站免费观看高清 | 久久最新网址 | 红杏出墙记 |