實用教程:bash/csh設(shè)置環(huán)境變量和rpm包管理器
1、永久設(shè)置環(huán)境變量
如果是csh,最好將環(huán)境變量添加到~/.cshrc
如果是bash,將環(huán)境變量添加到~/.bashrc
2、顯示環(huán)境變量
[yanxia.dong@eslruntime07?~]$?echo?$SHELL /bin/bash [yanxia.dong@eslruntime07?~]$?export?Test="hello" [yanxia.dong@eslruntime07?~]$ [yanxia.dong@eslruntime07?~]$?echo?$Test hello
使用env命令顯示所有的環(huán)境變量
使用set命令顯示所有本地定義的Shell變量
[yanxia.dong@eslruntime07?~]$?env SSH_AGENT_PID=8359 HOSTNAME=eslruntime07 COWARE_MONITORS_PATH=/home/yanxia.dong/.synopsys/monitors:/opt/synopsys/M-2017.06-1/SLS/linux/IP SNPS_VP_PRODUCT=VAUTH TERM=xterm SHELL=/bin/bash HISTSIZE=1000 COWARE_AUX_BIN=/opt/synopsys/M-2017.06-1/SLS/linux/common/bin SSH_CLIENT=10.0.18.7?50186?22 ........
3、拷貝文件或目錄
cp 路徑/filename1 /路徑/filename2 例如:
$ cp /home/apuser/main.c /home/my/my.c
cp -r 目錄1 目錄2 這里的目錄即文件夾
cp -rf (f:force) 覆蓋/刪除已經(jīng)存在的目標文件而不提示。
cp -i (i:interactive)參數(shù)i和參數(shù)f相反,在覆蓋目標文件之前將給出提示要求用戶確認?;卮饄時目標文件將被覆蓋,是交互式拷貝。
4、cat,more,less 命令
cat:把文件內(nèi)容一直打印出來。
more:分頁展示
less:可以上下翻滾查看內(nèi)容
head -n filename 顯示文件內(nèi)容的前n行
tail -n filename 顯示文件內(nèi)容的后n行
5、文件查找(find,grep,awk)
find 路徑 -name 文件名
$ fine /etc -name named.conf
locate:通過文件名搜索文件的工具(要先通過updatedb建立索引數(shù)據(jù)庫)
locate named.conf
6、文件比較
cmp 命令用來簡要指出兩個文件是否存在差異,它的使用權(quán)限是所有用戶。
compare two files byte by byte 逐字節(jié)進行比較
diff : compare files line by line
diff -i : ignore case differences 忽略大小寫的區(qū)別。
diff -E:ignore changes due to tab expansion 忽略由于Tab空格引起的變化。
7、RPM - rpm(redhat) package manager 包管理器,最早是給紅帽用的。
rpm is a powerful package manager, which can be used to build , install ,update and erase individual software packages.
RPM通過將源代碼基于特定平臺系統(tǒng)編譯為可執(zhí)行文件,并保存依賴關(guān)系,來簡化開源軟件的安裝管理。
rpm -i/--install software.rpm (This installs a new package) 安裝軟件,需要管理員權(quán)限。
rpm -U/--upgrade?software-new.rpm 以升級形式安裝
This upgrades or installs the package currently installed to a newer version.
This is the same as install, except all other versions of the package are removed after the new package is installed.
rpm -e?software 刪除安裝的軟件包/卸載軟件 erase/uninstall package 注意沒有后綴.rpm
rpm -qa 列出所有已經(jīng)安裝的rpm軟件
rpm -qf filename 查詢目標文件屬于哪個軟件包
rpm -qi packagename 查詢指定已安裝rpm軟件的信息?(information)
rpm -ql packagename l查詢指定已經(jīng)安裝的軟件包含的文件(list)
查詢未安裝文件的信息 -qip -qlp 后加p
rpm -qip software.rpm 查詢未安裝rpm文件的信息 info
rpm -qlp software.rpm 查詢未安裝rpm包含的文件
rpm -qa | grep mysql -i 查詢系統(tǒng)是否安裝mysql包(-i 忽略大小寫)
rpm支持通過http、ftp協(xié)議安裝軟件
rpm -ivh http://www.linuxcast.net/software.rpm?
-v --verbose 顯示詳細信息(provide more detailed output)
-h --hash 顯示進度條(print hash marks as package installs)#組成
rpm -ivh xxx.rpm 安裝rpm包
rpm -Uvh 升級安裝
rpm -K/--checksig software.rpm 驗證rpm包的完整性,一般指未安裝的 (verify package signatures)
rpm -V/--verify software 驗證安裝后是否被修改
rpm --import pubkey
---- 絕大多數(shù)開源軟件都是直接以源代碼形式發(fā)布。
---- 源代碼一般會被打包成tar.gz的歸檔壓縮文件。tar -czvf xx / tar -xzvf xx
---- 程序源代碼需要編譯成為二進制形式之后才能夠運行使用。(兼容性和可控制性較好,但會有大量的依賴關(guān)系)
? ? ? 使用某軟件,需要安裝其他軟件才能使用。
源代碼基本編譯流程:
1)./configure 檢查編譯環(huán)境、相關(guān)庫文件以及配置參數(shù)并生成makefile
2)make 對源代碼進行編譯,生成可執(zhí)行文件
3)make install 將生成的可執(zhí)行文件安裝到當前計算機中