查看當(dāng)前所在的工作目錄的全路徑 pwd
[root@localhost ~]# pwd
/root
查看當(dāng)前系統(tǒng)的時(shí)間 date
[root@localhost ~]# date +%Y-%m-%d
2016-07-26
date +%Y-%m-%d --date="-1 day" #加減也可以 month | year
2016-07-25
[root@localhost ~]# date -s "2016-07-28 16:12:00" ## 修改時(shí)間
Thu Jul 28 16:12:00 PDT 2016
查看有誰(shuí)在線(哪些人登陸到了服務(wù)器)
who 查看當(dāng)前在線
[root@localhost ~]# who
hadoop tty1 2016-07-26 00:01 (:0)
hadoop pts/0 2016-07-26 00:49 (:0.0)
root pts/1 2016-07-26 00:50 (192.168.233.1)
last 查看最近的登陸歷史記錄
[root@localhost ~]# last
root pts/1 192.168.233.1 Tue Jul 26 00:50 still logged in
hadoop pts/0 :0.0 Tue Jul 26 00:49 still logged in
hadoop tty1 :0 Tue Jul 26 00:01 still logged in
reboot system boot 2.6.32-573.el6.x Tue Jul 26 07:58 - 16:23 (2+08:24)
關(guān)機(jī)/重啟
關(guān)機(jī)(必須用root用戶)
shutdown -h now ## 立刻關(guān)機(jī)
shutdown -h +10 ## 10分鐘以后關(guān)機(jī)
shutdown -h 12:00:00 ##12點(diǎn)整的時(shí)候關(guān)機(jī)
halt # 等于立刻關(guān)機(jī)
重啟
shutdown -r now
reboot # 等于立刻重啟
清屏
clear ## 或者用快捷鍵 ctrl + l
退出當(dāng)前進(jìn)程
ctrl+c ##有些程序也可以用q鍵退出
掛起當(dāng)前進(jìn)程
ctrl+z ## 進(jìn)程會(huì)掛起到后臺(tái)
bg jobid ## 讓進(jìn)程在后臺(tái)繼續(xù)執(zhí)行
fg jobid ## 讓進(jìn)程回到前臺(tái)
echo
相當(dāng)于java中System.out.println(userName)
[root@localhost ~]# a="hi boy"
[root@localhost ~]# echo a
a
[root@localhost ~]# echo $a
hi boy
目錄操作
查看目錄信息
ls / ## 查看根目錄下的子節(jié)點(diǎn)(文件夾和文件)信息
ls -al ## -a是顯示隱藏文件 -l是以更詳細(xì)的列表形式顯示
ls -l ##有一個(gè)別名: ll 可以直接使用ll <是兩個(gè)L>
切換工作目錄
cd /home/hadoop ## 切換到用戶主目錄
cd ~ ## 切換到用戶主目錄
cd - ## 回退到上次所在的目錄
cd 什么路徑都不帶嫩码,則回到用戶的主目錄
創(chuàng)建文件夾
mkdir aaa ## 這是相對(duì)路徑的寫(xiě)法
mkdir /data ## 這是絕對(duì)路徑的寫(xiě)法
mkdir -p aaa/bbb/ccc ## 級(jí)聯(lián)創(chuàng)建目錄
刪除文件夾
rmdir aaa ## 可以刪除空目錄
rm -r aaa ## 可以把a(bǔ)aa整個(gè)文件夾及其中的所有子節(jié)點(diǎn)全部刪除
rm -rf aaa ## 強(qiáng)制刪除aaa
修改文件夾名稱
mv aaa boy
mv本質(zhì)上是移動(dòng)
mv install.log aaa/ 將當(dāng)前目錄下的install.log 移動(dòng)到aaa文件夾中去
rename 可以用來(lái)批量更改文件名
[root@localhost aaa]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 28 17:33 1.txt
-rw-r--r--. 1 root root 0 Jul 28 17:33 2.txt
-rw-r--r--. 1 root root 0 Jul 28 17:33 3.txt
[root@localhost aaa]# rename .txt .txt.bak *
[root@localhost aaa]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 28 17:33 1.txt.bak
-rw-r--r--. 1 root root 0 Jul 28 17:33 2.txt.bak
-rw-r--r--. 1 root root 0 Jul 28 17:33 3.txt.bak
文件操作
創(chuàng)建文件
touch somefile.1
## 創(chuàng)建一個(gè)空文件
echo "hi,boy" > somefile.2
## 利用重定向“>”的功能徙菠,將一條指令的輸出結(jié)果寫(xiě)入到一個(gè)文件中,會(huì)覆蓋原文件內(nèi)容载弄,如果指定的文件不存在,則會(huì)創(chuàng)建出來(lái)
echo "hi baby" >> somefile.2
## 將一條指令的輸出結(jié)果追加到一個(gè)文件中撵颊,不會(huì)覆蓋原文件內(nèi)容
vi文本編輯器
最基本用法
vi somefile.4
1 首先會(huì)進(jìn)入“一般模式”宇攻,此模式只接受各種快捷鍵,不能編輯文件內(nèi)容
2 按i鍵倡勇,就會(huì)從一般模式進(jìn)入編輯模式逞刷,此模式下,敲入的都是文件內(nèi)容
3 編輯完成之后妻熊,按Esc鍵退出編輯模式夸浅,回到一般模式;
4 再按:扔役,進(jìn)入“底行命令模式”帆喇,輸入wq命令,回車(chē)即可
常用快捷鍵
一些有用的快捷鍵(在一般模式下使用):
a 在光標(biāo)后一位開(kāi)始插入
A 在該行的最后插入
I 在該行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 刪除一行
3dd 刪除3行
yy 復(fù)制一行
3yy 復(fù)制3行
p 粘貼
u undo
v 進(jìn)入字符選擇模式亿胸,選擇完成后坯钦,按y復(fù)制,按p粘貼
ctrl+v 進(jìn)入塊選擇模式侈玄,選擇完成后婉刀,按y復(fù)制,按p粘貼
shift+v 進(jìn)入行選擇模式序仙,選擇完成后突颊,按y復(fù)制,按p粘貼
查找并替換
1 顯示行號(hào)
:set nu
2 隱藏行號(hào)
:set nonu
3 查找關(guān)鍵字
:/you ## 效果:查找文件中出現(xiàn)的you,并定位到第一個(gè)找到的地方律秃,按n可以定位到下一個(gè)匹配位置(按N定位到上一個(gè))
4 替換操作
:s/sad/bbb 查找光標(biāo)所在行的第一個(gè)sad呈昔,替換為bbb
:%s/sad/bbb 查找文件中所有sad,替換為bbb
拷貝/刪除/移動(dòng)
cp somefile.1 /home/hadoop/
rm /home/hadoop/somefile.1
rm -f /home/hadoop/somefile.1
mv /home/hadoop/somefile.1 ../
查看文件內(nèi)容
cat somefile 一次性將文件內(nèi)容全部輸出(控制臺(tái))
more somefile 可以翻頁(yè)查看, 下翻一頁(yè)(空格) 上翻一頁(yè)(b) 退出(q)
less somefile 可以翻頁(yè)查看,下翻一頁(yè)(空格) 上翻一頁(yè)(b)友绝,上翻一行(↑) 下翻一行(↓) 可以搜索關(guān)鍵字(/keyword)
跳到文件末尾: G
跳到文件首行: gg
退出less : q
tail -10 install.log 查看文件尾部的10行
tail +10 install.log 查看文件 10-->末行
tail -f install.log 小f跟蹤文件的唯一inode號(hào)堤尾,就算文件改名后,還是跟蹤原來(lái)這個(gè)inode表示的文件
tail -F install.log 大F按照文件名來(lái)跟蹤
head -10 install.log 查看文件頭部的10行
打包壓縮
1迁客、gzip壓縮
gzip a.txt
2郭宝、解壓
gunzip a.txt.gz
gzip -d a.txt.gz
3、bzip2壓縮
bzip2 a
4掷漱、解壓
bunzip2 a.bz2
bzip2 -d a.bz2
5粘室、打包:將指定文件或文件夾
tar -cvf bak.tar ./aaa
將/etc/password追加文件到bak.tar中(r)
tar -rvf bak.tar /etc/password
6侨嘀、解壓
tar -xvf bak.tar
7耐朴、打包并壓縮
tar -zcvf a.tar.gz aaa/
8唱歧、解包并解壓縮(重要的事情說(shuō)三遍!!!)
tar -zxvf a.tar.gz
解壓到/usr/下
tar -zxvf a.tar.gz -C /usr
9优质、查看壓縮包內(nèi)容
tar -ztvf a.tar.gz
zip/unzip
10、打包并壓縮成bz2
tar -jcvf a.tar.bz2
11锋叨、解壓bz2
tar -jxvf a.tar.bz2
查找命令
常用查找命令的使用
1辐脖、查找可執(zhí)行的命令所在的路徑:
which ls
2形用、查找可執(zhí)行的命令和幫助的位置:
whereis ls
3奥裸、從某個(gè)文件夾開(kāi)始查找文件
find / -name "hadooop*"
find / -name "hadooop*" -ls
4险掀、查找并刪除
find / -name "hadooop*" -ok rm {} \;
find / -name "hadooop*" -exec rm {} \;
5、查找用戶為hadoop的文件
find /usr -user hadoop -ls
6湾宙、查找用戶為hadoop的文件夾
find /home -user hadoop -type d -ls
7樟氢、查找權(quán)限為777的文件
find / -perm -777 -type d -ls
8、顯示命令歷史
history
grep命令
1 基本使用
查詢包含hadoop的行
grep hadoop /etc/password
grep aaa ./*.txt
2 cut截取以:分割保留第七段
grep hadoop /etc/passwd | cut -d: -f7
3 查詢不包含hadoop的行
grep -v hadoop /etc/passwd
4 正則表達(dá)包含hadoop
grep 'hadoop' /etc/passwd
5 正則表達(dá)(點(diǎn)代表任意一個(gè)字符)
grep 'h.*p' /etc/passwd
6 正則表達(dá)以hadoop開(kāi)頭
grep '^hadoop' /etc/passwd
7 正則表達(dá)以hadoop結(jié)尾
grep 'hadoop$' /etc/passwd
規(guī)則:
. : 任意一個(gè)字符
a* : 任意多個(gè)a(零個(gè)或多個(gè)a)
a? : 零個(gè)或一個(gè)a
a+ : 一個(gè)或多個(gè)a
.* : 任意多個(gè)任意字符
\. : 轉(zhuǎn)義.
o\{2\} : o重復(fù)兩次
查找不是以#開(kāi)頭的行
grep -v '^#' a.txt | grep -v '^$'
以h或r開(kāi)頭的
grep '^[hr]' /etc/passwd
不是以h和r開(kāi)頭的
grep '^[^hr]' /etc/passwd
不是以h到r開(kāi)頭的
grep '^[^h-r]' /etc/passwd
文件權(quán)限的操作
linux文件權(quán)限的描述格式解讀
drwxr-xr-x (也可以用二進(jìn)制表示 111 101 101 --> 755)
d:標(biāo)識(shí)節(jié)點(diǎn)類型(d:文件夾 -:文件 l:鏈接)
r:可讀 w:可寫(xiě) x:可執(zhí)行
第一組rwx: ## 表示這個(gè)文件的擁有者對(duì)它的權(quán)限:可讀可寫(xiě)可執(zhí)行
第二組r-x: ## 表示這個(gè)文件的所屬組用戶對(duì)它的權(quán)限:可讀侠鳄,不可寫(xiě)埠啃,可執(zhí)行
第三組r-x: ## 表示這個(gè)文件的其他用戶(相對(duì)于上面兩類用戶)對(duì)它的權(quán)限:可讀,不可寫(xiě)伟恶,可執(zhí)行
修改文件權(quán)限
chmod g-rw haha.dat ## 表示將haha.dat對(duì)所屬組的rw權(quán)限取消
chmod o-rw haha.dat ## 表示將haha.dat對(duì)其他人的rw權(quán)限取消
chmod u+x haha.dat ## 表示將haha.dat對(duì)所屬用戶的權(quán)限增加x
chmod a-x haha.dat ## 表示將haha.dat對(duì)所用戶取消x權(quán)限
也可以用數(shù)字的方式來(lái)修改權(quán)限
chmod 664 haha.dat
就會(huì)修改成 rw-rw-r--
如果要將一個(gè)文件夾的所有內(nèi)容權(quán)限統(tǒng)一修改碴开,則可以-R參數(shù)
chmod -R 770 aaa/
修改文件所有權(quán)
<只有root權(quán)限能執(zhí)行>
chown angela aaa ## 改變所屬用戶
chown :angela aaa ## 改變所屬組
chown angela:angela aaa/ ## 同時(shí)修改所屬用戶和所屬組
基本的用戶管理
添加一個(gè)用戶:
useradd spark
passwd spark 根據(jù)提示設(shè)置密碼即可
刪除一個(gè)用戶:
userdel -r spark 加一個(gè)-r就表示把用戶及用戶的主目錄都刪除
添加用戶
添加一個(gè)tom用戶,設(shè)置它屬于users組知押,并添加注釋信息
分步完成:useradd tom
usermod -g users tom
usermod -c "hr tom" tom
一步完成:useradd -g users -c "hr tom" tom
設(shè)置tom用戶的密碼
passwd tom
修改用戶
修改tom用戶的登陸名為tomcat
usermod -l tomcat tom
將tomcat添加到sys和root組中
usermod -G sys,root tomcat
查看tomcat的組信息
groups tomcat
用戶組操作
添加一個(gè)叫america的組
groupadd america
將jerry添加到america組中
usermod -g america jerry
將tomcat用戶從root組和sys組刪除
gpasswd -d tomcat root
gpasswd -d tomcat sys
將america組名修改為am
groupmod -n am america
為用戶配置sudo權(quán)限
用root編輯 vi /etc/sudoers
在文件的如下位置叹螟,為hadoop添加一行即可
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
然后鹃骂,hadoop用戶就可以用sudo來(lái)執(zhí)行系統(tǒng)級(jí)別的指令
[root@localhost ~]$ sudo useradd xiaoming
系統(tǒng)管理操作
掛載外部存儲(chǔ)設(shè)備
可以掛載光盤(pán)台盯、硬盤(pán)、磁帶畏线、光盤(pán)鏡像文件等
- 掛載光驅(qū)
mkdir /mnt/cdrom 創(chuàng)建一個(gè)目錄静盅,用來(lái)掛載
mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 將設(shè)備/dev/cdrom掛載到 掛載點(diǎn) : /mnt/cdrom中
- 掛載光盤(pán)鏡像文件(.iso文件)
mount -t iso9660 -o loop /home/hadoop/Centos-6.7.DVD.iso /mnt/centos
注:掛載的資源在重啟后即失效,需要重新掛載。要想自動(dòng)掛載蒿叠,可以將掛載信息設(shè)置到/etc/fstab配置文件中明垢,如下:
/dev/cdrom /mnt/cdrom iso9660 defaults 0 0
卸載 umount
umount /mnt/cdrom
存儲(chǔ)空間查看
df -h
統(tǒng)計(jì)文件或文件夾的大小
du -sh /mnt/cdrom/packages
df -h 查看磁盤(pán)的空間
系統(tǒng)服務(wù)管理
service sshd status
service sshd stop
service sshd start
service sshd restart
系統(tǒng)啟動(dòng)級(jí)別管理
vi /etc/inittab
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
## 通常將默認(rèn)啟動(dòng)級(jí)別設(shè)置為:3
進(jìn)程管理
top
free
ps -ef | grep ssh
kill -9
SSH免密登陸配置
SSH工作機(jī)制
1、相關(guān)概念
SSH 為 Secure Shell(安全外殼協(xié)議) 的縮寫(xiě)市咽。
很多ftp痊银、pop和telnet在本質(zhì)上都是不安全的,因?yàn)樗鼈冊(cè)诰W(wǎng)絡(luò)上用明文傳送口令和數(shù)據(jù)施绎,別有用心的人非常容易就可以截獲這些口令和數(shù)據(jù)溯革。
而SSH就是專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。
SSH是由客戶端和服務(wù)端的軟件組成的
服務(wù)端是一個(gè)守護(hù)進(jìn)程(sshd)谷醉,他在后臺(tái)運(yùn)行并響應(yīng)來(lái)自客戶端的連接請(qǐng)求致稀。
客戶端包含ssh程序以及像scp(遠(yuǎn)程拷貝)、slogin(遠(yuǎn)程登陸)俱尼、sftp(安全文件傳輸)等其他的應(yīng)用程序抖单。
2、認(rèn)證機(jī)制
從客戶端來(lái)看遇八,SSH提供兩種級(jí)別的安全驗(yàn)證矛绘。
第一種級(jí)別(基于口令的安全驗(yàn)證)
只要你知道自己帳號(hào)和口令,就可以登錄到遠(yuǎn)程主機(jī)刃永。
第二種級(jí)別(基于密鑰的安全驗(yàn)證)
需要依靠密匙蔑歌,也就是你必須為自己創(chuàng)建一對(duì)密匙,并把公用密匙放在需要訪問(wèn)的服務(wù)器上揽碘。如果你要連接到SSH服務(wù)器上次屠,
客戶端軟件就會(huì)向服務(wù)器發(fā)出請(qǐng)求,請(qǐng)求用你的密匙進(jìn)行安全驗(yàn)證雳刺。服務(wù)器收到請(qǐng)求之后劫灶,先在該服務(wù)器上你的主目錄下尋找你的公用密匙,
然后把它和你發(fā)送過(guò)來(lái)的公用密匙進(jìn)行比較掖桦。如果兩個(gè)密匙一致本昏,服務(wù)器就用公用密匙加密“質(zhì)詢”(challenge)并把它發(fā)送給客戶端軟件。
客戶端軟件收到“質(zhì)詢”之后就可以用你的私人密匙解密再把它發(fā)送給服務(wù)器枪汪。
密鑰登陸方式配置
假如 A 要登陸 B
在A上操作:
1/ 首先生成密鑰對(duì)
ssh-keygen
(提示時(shí)涌穆,直接回車(chē)即可)
2/ 再將A自己的公鑰拷貝并追加到B的授權(quán)列表文件authorized_keys
中
ssh-copy-id B
網(wǎng)絡(luò)管理
主機(jī)名配置
1/ 查看主機(jī)名
hostname
2/ 修改主機(jī)名(重啟后無(wú)效)
hostname hadoop
3/ 修改主機(jī)名(重啟后永久生效)
vi /ect/sysconfig/network
IP地址配置
修改IP地址
1/ 方式一:setup
用root輸入setup命令,進(jìn)入交互式修改界面
2/ 方式二:修改配置文件 一般使用這種方法
(重啟后永久生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
3/ 方式三:ifconfig命令
(重啟后無(wú)效)
ifconfig eth0 192.168.12.22
網(wǎng)絡(luò)服務(wù)管理
1 后臺(tái)服務(wù)管理
service network status 查看指定服務(wù)的狀態(tài)
service network stop 停止指定服務(wù)
service network start 啟動(dòng)指定服務(wù)
service network restart 重啟指定服務(wù)
service --status-all 查看系統(tǒng)中所有的后臺(tái)服務(wù)
2 設(shè)置后臺(tái)服務(wù)的自啟配置
chkconfig 查看所有服務(wù)器自啟配置
chkconfig iptables off 關(guān)掉指定服務(wù)的自動(dòng)啟動(dòng)
chkconfig iptables on 開(kāi)啟指定服務(wù)的自動(dòng)啟動(dòng)
轉(zhuǎn)載自: