1、命令基本格式:
ls -1 詳細列表 (ll)
-h 人性化顯示文件大小
-a 顯示全部文件,包括隱藏文件
-d 查看目錄屬性
-i 顯示iNode
2、文件處理命令
mkdir -p [目錄名] (遞歸)
cd、pwd
touch創建空文件
rmdir 刪除空目錄
rm -rf 遞歸刪除
cp -r 複製文件
cp -a 複製全部屬性
mv 剪切/更名php
硬鏈接:擁有相同的i節點和存儲block塊,能夠看作是同一個文件 可經過i節點識別 不能跨分區 不能針對目錄使用 ln 、、/ 、、 ln -s建立軟鏈接 軟連接應該叫做符號連接,就是Windows中的快捷方式,很方便的功能啊。 硬連接是直接複製了源文件的inode,通常不會再佔用磁盤block,雖有區別, 不過你也能夠看成快捷方式來用。 限制是硬連接不能連接到目錄,且只能連接本文件系統中的文件
3、文件搜索命令
文件搜索命令-locate + 文件名 /var/lib/mlocate
updatedb 更新數據庫
命令搜索命令 whereis+ 命令
-b 只查找可執行文件
-m 只查找班助文件
whoami
which + 命令
文件搜索 find +搜索範圍+條件
find / -name or -user or -nouser install.log
-mtime +10 修改文件
-atime 訪問時間
-ctime 文件屬性
-size 25k
-inum 262522 按節點
-a and
-o or
-exec ls -lh {} \ 處理搜索結果
*任意內容 ?任意一個字符 [] 任意括號內的字符
字符串搜索命令grep
-v 取反java
4、幫助命令man
man man
man ls
man -f ls
help shell 獲取shell內部命令
whereis cd 肯定是不是shell內部命令
help cd 獲取內部命令幫助
info
5、壓縮與解壓命令
zip 壓縮文件.zip 文件
zip -r 壓縮文件
unzip 解壓文件
gzip 源文件 壓縮爲.gz格式的壓縮文件,源文件會消失
gzip -c 源文件 > 壓縮文件 原文件保留
gzip -r 目錄 壓縮全部子文件
gzip -d 壓縮文件
gunzip 壓縮文件
bzip2 源文件 不保留源文件
bzip2 -k 保留源文件node
tar -cvf 打包文件名 源文件 tar -xcf 解壓縮.tar文件 tar -zcvf tar -zxvf -c 位置 tar -jcvf tar -jxvf .bz2
六 關機與重啓命令
startx 進入圖形界面 init 5
shutdown -h now 關機 init 0
shutdown -r now /reboot 重啓
reboot 、init 6 重啓
runlevel 系統級別python
7、其餘命令
mount 查詢已掛載的
chmod 755 hello.sh 執行腳本文件
掛載光盤
mkdir /mnt/cdrom
mount -t iso9660 /dev/sr0 /mnt/cdrom
fdisk -l
w
who
last
lastlog
echo $SHELL 查詢當前的shellmysql
wq 保存並退出
q! 退出不保存
ls 列出全部文件 dir
ls -1 詳細列表
-h 人性化顯示文件大小
-a 顯示全部文件,包括隱藏文件
-d 查看目錄屬性
-i 顯示iNode
pwd 顯示當前在哪一個目錄下
mkdir 創建目錄
rmdir 刪除空目錄
cp 複製
touch 創建空文件
mv 移動文件和該文件名
rm 刪除文件和目錄
rm -rf * 刪除全部內容(包括目錄和文件)r遞歸 f強制
in 創建符號鏈接
in -s 源目錄
就是管道命令 把上一個命令的結果交給 的後面的命令處理
grep -n 「」 文件 查找關鍵字 有行數
find / -name aa
ls -l> a.text 列表內容寫入a.text文件中(覆蓋)
ls -al >> aa.text 列表內容追加到aa.text 的末尾
ls -ahl 查看文件的全部組linux
javac .java編譯
java 運行nginx
gcc .cpp 編譯 gcc -o my1 .cpp
./a.out 運行 ./my1
目錄結構:
root 存放root用戶的相關文件
home 存放普通用戶的相關文件
bin 存放經常使用命令的目錄
sbin 要具備必定權限纔可使用的命令
mnt 默認掛載光驅和軟驅的目錄
etc 存放配置相關文件
var 存放常常變化的文件
boot 存放引導相關的文件
usr 默認安裝文件 sql
添加用戶
useradd xiaoming
passwd xiaoming 設置、修改密碼
userdel 用戶名 刪除用戶
userdel -r 用戶名 刪除用戶及目錄shell
解決修改錯誤配置的方法
在進入grub引導界面時 請輸入 e
在選中第二行 輸入e
在最後輸入1 【但用戶級別】
請按b 數據庫
如何添加組
groupadd policeman
vi /etc/group 能夠更改
cat /etc/group--不能更改 --查看Linux中全部組
useradd -g 組名 用戶名 ----建立用戶 並指定分配到哪一個組
vi/cat /etc/passwd --查看全部用戶信息
-rw-r--r-- 操做權限 含義:
-文件 d目錄 l軟連接文件
rw-文件全部者對該文件的權限 r 可讀 用4表示;w可寫 用2表示; x可執行用1表示
r--文件所在組對該文件的權限
r--其餘組的用戶對該文件的權限
如何修改文件訪問權限
chmod
usemod -g 組名 用戶名
chown 用戶名 文件名 --修改該文件的全部者
chgrp --更改組
mount /mnt/cdrom/ 掛載驅動
umount /mnt/cdrom / 卸載驅動
安裝jdk
1把iso掛載
2把安裝文件拷貝到 /home 下 cp 文件 /home
3cd /home 切換到home
4安裝 ./?????.bin 回車
5vi /etc/profile 環境配置文件 jdk1.5.0_06
6 配置 export JAVA_HOME PATH CLASSPATH
eclipse安裝
1把iso掛載
2cp 文件 /home
3tar -zxvf ????.tar.gz 安裝
4 ./eclipse 啓動eclipse 【進入圖形界面】startx 在終端啓動eclipse
myeclipse安裝
1cp 文件 /home
2tar -zxvf ????.tar.gz 安裝
3在home下 ./????.bin
tomcat安裝
1cp 文件 /home
2tar -zxvf ????.tar.gz 安裝
realplay安裝
1 cp 文件 /home
2 cd /home
3./????.bin
4cd realplay
5 ./realplay
測試
linux 安裝分區
/boot 分區 100M ext3
swap交換分區 物理內存的2倍 但不要大於256M
/ 根分區 儘量大
LANG=GB2312
鏡像文件
EnterpriseWorkbenchInstaller_4.0.3GA-E3.1.bin
RealPlayer10GOID.bin
apache-1.3.28.tar.gz
eclipse_SDK-3.1.1-linux-i586.bin
fcitx-3.1.1.tar.gz
jakarta-tomcat-5.5.9.tar.gz
jakarta-tomcat-5.0.30.tar.gz
jdk-1_5_0_04-linux-i586-rpm.bin
mysql-connector-java-3.1.10-bin.jar
mysql-standard-4.0.26-pc-linux-gnu-i686.tar.gz
samba-2.2.7a-7.9.0.i386.rpm
samba-client-2.2.7a-7.9.0.i386.rpm
samba-commom-2.2.7a-7.9.0.i386.rpm
telnet-0.17-25.i386.rpm
vsftpd-1.1.3-8.i386.rpm
& 地址符 後臺方式控制
安裝 rpm -ivh httpd-.......
rpm包升級 rpm -Uvh 包全名
卸載 rpm -e 包名
查詢是否安裝 rpm -q 包名
查詢全部 rpm -qa grep 包名 ---相關包
查詢詳細信息 rpm -qi 包名
查詢安裝位置 rpm -ql 包名
查詢文件屬於哪一個包 rpm -qf 系統文件名
依賴信息 rpm -qr 包名
校驗 rpm -V
RPM命令管理:RPM包中文件提取
rpm2cpio 包全名 cpio -idv .文件絕對路徑 --> 前面的【.】表明當前路徑,不能省略。【文件絕對路徑】和包裏文件的絕對路徑對應,也就是告訴了cpio要去包裏提取哪一個文件。
注:cpio只知道提取文件,並不知道要從什麼地方提取文件,所以咱們一般要使用【】管道符或【<】輸入重定向告訴cpio咱們應該從什麼設備去取出文件。
使用輸入重定向的cpio命令格式:
cpio 選項 < [文件設備]
選項:
-i:copy-in模式,還原
-d:還原時自動新建目錄
-v:顯示還原過程
Yum在線安裝:yum源文件
一、yum的優勢:將全部軟件包放到官方服務器上,當進行yum在線安裝時,能夠自動解決依賴性問題。(rpm缺點:安裝過程當中,rpm包依賴性太強)
二、redhat的yum在線安裝須要付費,centOS不須要。
三、在【/etc/yum.repos.d/】目錄中,默認有4個yum源文件,其中【CentOS-Base.repo】是基本yum源文件,若是咱們能上網,那它是默認生效的,而其餘的都是默認不生效的。
四、[base]:名字能夠隨便起。
五、name:名字也是隨便起。
六、mirrorlist和baseurl一個是主站點,一個是輔助站點,這兩個有一個就行。能夠找一個163或清華大學的yum源更換。
七、enabled:默認最後一個容器不生效,其餘容器都生效。
八、gpgcheck:通常都要開啓,開啓後安裝時會驗證rpm包是不是官方的,以保證系統安全。
九、gpgkey:默認系統安裝後,在目錄【/etc/pki/rpm-gpg】下都會存在數字證書。注:前面的【file://】表示文件協議,後面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是數字證書的位置。
[root@CentOS6 ~]# cd /etc/pki/rpm-gpg
[root@CentOS6 rpm-gpg]# ll
Yum在線安裝:光盤搭建yum源
有三個步驟:
一、掛載光盤;
二、使網絡yum源【CentOS-Base.repo】失效,參加下面截圖;
三、使光盤yum源【CentOS-Media.repo】生效,須要編輯【CentOS-Media.repo】文件,修改【baseurl】和【enabled】兩項內容,操做以下:
[root@CentOS6 yum.repos.d]# vi CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/ -->將baseurl設置爲實際光盤掛載地址(另外兩個要註釋掉,不然會由於找不到光盤而報錯。【#】註釋時,必須寫在行開頭)
gpgcheck=1
enabled=1 -->將enabled設置爲1,使這個yum源配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
編輯後保存退出便可。
注:可使用【yum list】命令列出當前yum源中的全部rpm包:
[root@CentOS6 yum.repos.d]# yum list
......省略部份內容......
經常使用yum命令:
1.查詢
yun list --查詢全部可用軟件包列表
yum search 關鍵字 --搜索服務器上全部和關鍵字相關的包
2.安裝
yum -y install 包名 (-y 自動回答yes)
yum安裝只寫包名便可! eg:yum -y install gcc --c語言編譯器
Yum在線安裝:二、yum軟件組管理命令
【yum grouplist】列出當前已安裝的和可安裝的全部組,例如:
[root@CentOS6 sysconfig]# yum grouplist
...省略部份內容...
Available Groups:
...省略部份內容...
Java 平臺
【yum groupinstall 軟件組名】用於安裝指定的軟件組(注意:【軟件組名】最好用雙引號括起來,不能是中文。PS:經在CentOS6.5上測試,中文也能夠正常安裝)。
例如,咱們想安裝【Java 平臺】組,因爲組名不能是中文,因此咱們須要知道該組名對應的英文組名才能安裝。有兩種方式能夠得到英文組名:
a、由於本機是英文語系,因此可直接在本機經過【yum grouplist】命令查看組名;
b、如果遠程鏈接的話,一般都是中文語系,須要使用【LANG=en_US】命令臨時將當前系統下的語系修改成英文,而後經過【yum grouplist】命令查看組名。例如:
[root@CentOS6 sysconfig]# LANG=en_US
[root@CentOS6 sysconfig]# yum grouplist
Installed Groups:
...省略部份內容...
Available Groups:
...省略部份內容...
Java Platform
經過上面查詢,能夠知道【Java 平臺】對應的英文名是【Java Platform】,下面是執行安裝操做的命令:
[root@CentOS6 sysconfig]# yum groupinstall "Java Platform"
...省略部份內容...
Installed:
java-1.6.0-openjdk.i686 1:1.6.0.0-1.66.1.13.0.el6 java-1.7.0-openjdk.i686 1:1.7.0.45-2.4.3.3.el6
...省略部份內容...
Complete!
注:【LANG=zh_CN.utf8】是臨時將當前系統下運行的語系改成中文的命令(若須要永久修改,則在【/etc/sysconfig/i18n】文件中修改。
Available Packages
389-ds-base.i686 1.2.11.15-29.el6 c6-media
389-ds-base-devel.i686 1.2.11.15-29.el6 c6-media
389-ds-base-libs.i686 1.2.11.15-29.el6 c6-media
......省略部份內容......
能夠從後面的【c6-media】看出這是光盤yum源,由於這是光盤yum源文件【CentOS-Media.repo】中定義的名字。
總用量 16
-rw-r--r--. 1 root root 1706 11月 27 2013 RPM-GPG-KEY-CentOS-6
-rw-r--r--. 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6
-rw-r--r--. 1 root root 1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6
-rw-r--r--. 1 root root 1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6
[root@CentOS6 rpm-gpg]#
Linux內核版本
http:www.kernel.org
Linux發行版本
nginx Apache 阿帕奇(標誌爲一個羽毛)NGINX(佔用資源少,同時提供更高的訪問量)
Mysql,php,samba,mongoDB,python(腳本語言),Ruby,sphinx
可經過www.netcraf.com查詢網站後臺以及後臺分佈
壓縮包 .gz .bz2 .tar.bz2 .tgz
二進制 .rpm
配置文件 .config
6.設備文件名
1)/dev/hda1 IDE硬盤接口
/dev/sda1 SCSI硬盤接口、SATA硬盤接口
hd,sd是設備文件名,a表明第一塊硬盤,1表示第一個分區
邏輯分區編號從5開始
2)linux:分區,格式化,起個設備文件名,分配盤符
3)window:分區,格式化,分配盤符
7.掛載
1)把盤符和分區連在一塊兒的過程稱爲掛載,把目錄稱爲掛載點。盤符表示掛載點。
2)必須分區
/ 根分區
swap 交換分區,內存小於4G建議爲內存兩倍,大於4G則按1:1分配
3)推薦分區
/boot 啓動分區,200MB,建議單獨分區,若該包含該目錄的分區空間不足可能使系統起不來
sudo apt-get update
sudo apt-get install vim 安轉vim
cc -v 檢查版本
:sp 打開多個vim
ctro+w+ down
:set nu 打開行號
9 + dd 剪切
p 粘貼
gcc -c max.c -o max.o 編譯成庫函數
echo $? 0--正常
int main(int argc,char* [])
argc 參數個數
char 參數值
stdin 標準輸入流:鍵盤 fscanf(stdin,"%d",&a);
stdout 標準輸出流:顯示器 fprintf(stdout,"");
stderr 標準錯誤流 fprintf(stderr,"");
fprintf(stderr,"The value must > 0");在輸入有誤時提示錯誤信息!
輸出流:
./a.out 1>> a.text 把結果重定向到.txt文件裏 不會覆蓋原文件內容(日誌)
ls /etc >> etc.txt
ls /etc > etc.txt 只有最後的一份 覆蓋文件()最新數據
輸入流:
./a.out < input.txt 自動讀取數據
ls /etc/ grep ab 包含ab的文件 前一個命令的結果作爲後一個命令的輸入流 ps -e 進程 ps -e grep ssh