Linux日常操作筆記

查看當(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ì)路徑的寫法 
mkdir  /data    ## 這是絕對(duì)路徑的寫法 
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é)果寫入到一個(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命令,回車即可

常用快捷鍵
一些有用的快捷鍵(在一般模式下使用):
a 在光標(biāo)后一位開始插入
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è)文件夾開始查找文件
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開頭
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ù)兩次

查找不是以#開頭的行
grep -v '^#' a.txt | grep -v '^$' 

以h或r開頭的
grep '^[hr]' /etc/passwd

不是以h和r開頭的
grep '^[^hr]' /etc/passwd

不是以h到r開頭的
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:可寫 x:可執(zhí)行
第一組rwx: ## 表示這個(gè)文件的擁有者對(duì)它的權(quán)限:可讀可寫可執(zhí)行
第二組r-x: ## 表示這個(gè)文件的所屬組用戶對(duì)它的權(quán)限:可讀,不可寫,可執(zhí)行
第三組r-x: ## 表示這個(gè)文件的其他用戶(相對(duì)于上面兩類用戶)對(duì)它的權(quán)限:可讀,不可寫,可執(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è)備

可以掛載光盤、硬盤、磁帶、光盤鏡像文件等

  • 掛載光驅(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中
  • 掛載光盤鏡像文件(.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    查看磁盤的空間

系統(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é)議) 的縮寫。
很多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ù)器上。如果你要連接到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í),直接回車即可)
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   開啟指定服務(wù)的自動(dòng)啟動(dòng)

轉(zhuǎn)載自:

http://www.kuqin.com/shuoit/20160805/352716.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評(píng)論 19 139
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 100,603評(píng)論 9 468
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評(píng)論 25 709
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,199評(píng)論 2 33
  • 心情不好的時(shí)候,就喜歡往人多的地方去。擁擠的公交,擁擠的地鐵,擁擠的商圈,嘈雜的人聲。人來(lái)人往,車去車來(lái)。忽而,自...
    kerreal閱讀 349評(píng)論 0 0

友情鏈接更多精彩內(nèi)容