1. 程式人生 > >大數據成神之路-Linux基礎

大數據成神之路-Linux基礎

所在 語言 ifs 排序 最後一行 快捷 eric .bashrc href

Linux命令

我是小白,我從來沒玩過Linux,請點這裏:

https://user-gold-cdn.xitu.io/2019/2/24/1691e1dda7807059

推薦的一個Git倉庫

我有些基礎,推薦一個快速查詢命令的手冊,請點這裏:

https://github.com/jaywcjlove/linux-command

大數據成神之路目錄

技術分享圖片

大數據開發基礎

Java基礎 NIO 並發 JVM 分布式 Zookeeper RPC Netty
Java基礎 NIO 並發容器 JVM 分布式 zookeeper RPC Netty

必須學會的命令

1.man和page

1.內部命令:echo
查看內部命令幫助:help echo 或者 man echo

2.外部命令:ls
查看外部命令幫助:ls --help 或者 man ls 或者 info ls

3.man文檔的類型(1~9)
man 7 man
man 5 passwd

4.快捷鍵:
ctrl + c:停止進程

ctrl + l:清屏

ctrl + r:搜索歷史命令

ctrl + q:退出

5.善於用tab鍵

2.常用

說明:安裝linux時,創建一個hadoop用戶,然後使用root用戶登陸系統

1.進入到用戶根目錄
cd ~ 或 cd

2.查看當前所在目錄
pwd

3.進入到hadoop用戶根目錄
cd ~hadoop

4.返回到原來目錄
cd -

5.返回到上一級目錄
cd ..

6.查看hadoop用戶根目錄下的所有文件
ls -la

7.在根目錄下創建一個hadoop的文件夾
mkdir /hadoop

8.在/hadoop目錄下創建src和WebRoot兩個文件夾
分別創建:mkdir /hadoop/src
          mkdir /hadoop/WebRoot
同時創建:mkdir /hadoop/{src,WebRoot}

進入到/hadoop目錄,在該目錄下創建.classpath和README文件
分別創建:touch .classpath
          touch README
同時創建:touch {.classpath,README}

查看/hadoop目錄下面的所有文件
ls -la

在/hadoop目錄下面創建一個test.txt文件,同時寫入內容"this is test"
echo "this is test" > test.txt

查看一下test.txt的內容
cat test.txt
more test.txt
less test.txt

向README文件追加寫入"please read me first"
echo "please read me first" >> README

將test.txt的內容追加到README文件中
cat test.txt >> README

拷貝/hadoop目錄下的所有文件到/hadoop-bak
cp -r /hadoop /hadoop-bak

進入到/hadoop-bak目錄,將test.txt移動到src目錄下,並修改文件名為Student.java
mv test.txt src/Student.java

在src目錄下創建一個struts.xml
> struts.xml

刪除所有的xml類型的文件
rm -rf *.xml

刪除/hadoop-bak目錄和下面的所有文件
rm -rf /hadoop-bak

返回到/hadoop目錄,查看一下README文件有多單詞,多少個少行
wc -w README
wc -l README

返回到根目錄,將/hadoop目錄先打包,再用gzip壓縮
分步完成:tar -cvf hadoop.tar hadoop
          gzip hadoop.tar
一步完成:tar -zcvf hadoop.tar.gz hadoop

將其解壓縮,再取消打包
分步完成:gzip -d hadoop.tar.gz 或 gunzip hadoop.tar.gz
一步完成:tar -zxvf hadoop.tar.gz

將/hadoop目錄先打包,同時用bzip2壓縮,並保存到/tmp目錄下
tar -jcvf /tmp/hadoop.tar.bz2 hadoop

將/tmp/hadoop.tar.bz2解壓到/usr目錄下面
tar -jxvf hadoop.tar.bz2 -C /usr/
  1. 文件命令
    
    1.進入到用戶根目錄
    cd ~ 或者 cd
    cd ~hadoop
    回到原來路徑
    cd -

2.查看文件詳情
stat a.txt

3.移動
mv a.txt /ect/
改名
mv b.txt a.txt
移動並改名
mv a.txt ../b.txt

4拷貝並改名
cp a.txt /etc/b.txt

5.vi撤銷修改
ctrl + u (undo)
恢復
ctrl + r (redo)

6.名令設置別名(重啟後無效)
alias ll="ls -l"
取消
unalias ll

7.如果想讓別名重啟後仍然有效需要修改
vi ~/.bashrc

8.添加用戶
useradd hadoop
passwd hadoop

9創建多個文件
touch a.txt b.txt
touch /home/{a.txt,b.txt}

10.將一個文件的內容復制到裏另一個文件中
cat a.txt > b.txt
追加內容
cat a.txt >> b.txt

11.將a.txt 與b.txt設為其擁有者和其所屬同一個組者可寫入,但其他以外的人則不可寫入:
chmod ug+w,o-w a.txt b.txt

chmod a=wx c.txt

12.將當前目錄下的所有文件與子目錄皆設為任何人可讀取:
chmod -R a+r *

13.將a.txt的用戶擁有者設為users,組的擁有者設為jessie:
chown users:jessie a.txt

14.將當前目錄下的所有文件與子目錄的用戶的使用者為lamport,組擁有者皆設為users,
chown -R lamport:users *

15.將所有的java語言程式拷貝至finished子目錄中:
cp *.java finished

16.將目前目錄及其子目錄下所有擴展名是java的文件列出來。
find -name ".java"
查找當前目錄下擴展名是java 的文件
find -name
.java

17.刪除當前目錄下擴展名是java的文件
rm -f *.java


3.系統命令

1.查看主機名
hostname

2.修改主機名(重啟後無效)
hostname hadoop

3.修改主機名(重啟後永久生效)
vi /ect/sysconfig/network

4.修改IP(重啟後無效)
ifconfig eth0 192.168.12.22

5.修改IP(重啟後永久生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0

6.查看系統信息
uname -a
uname -r

7.查看ID命令
id -u
id -g

8.日期
date
date +%Y-%m-%d
date +%T
date +%Y-%m-%d" "%T

9.日歷
cal 2012

10.查看文件信息
file filename

11.掛載硬盤
mount
umount
加載windows共享
mount -t cifs //192.168.1.100/tools /mnt

12.查看文件大小
du -h
du -ah

13.查看分區
df -h

14.ssh
ssh [email protected]

15.關機
shutdown -h now /init 0
shutdown -r now /reboot


4.用戶和組

添加一個tom用戶,設置它屬於users組,並添加註釋信息
分步完成:useradd tom
usermod -g users tom
usermod -c "hr tom" tom
一步完成:useradd -g users -c "hr tom" tom

設置tom用戶的密碼
passwd tom

修改tom用戶的登陸名為tomcat
usermod -l tomcat tom

將tomcat添加到sys和root組中
usermod -G sys,root tomcat

查看tomcat的組信息
groups tomcat

添加一個jerry用戶並設置密碼
useradd jerry
passwd jerry

添加一個交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


5. 權限

創建a.txt和b.txt文件,將他們設為其擁有者和所在組可寫入,但其他以外的人則不可寫入:
chmod ug+w,o-w a.txt b.txt

創建c.txt文件所有人都可以寫和執行
chmod a=wx c.txt 或chmod 666 c.txt

將/hadoop目錄下的所有文件與子目錄皆設為任何人可讀取
chmod -R a+r /hadoop

將/hadoop目錄下的所有文件與子目錄的擁有者設為root,用戶擁有組為users
chown -R root:users /hadoop

將當前目錄下的所有文件與子目錄的用戶皆設為hadoop,組設為users
chown -R hadoop:users *


6.目錄屬性

1.查看文件夾屬性
ls -ld test

2.文件夾的rwx
--x:可以cd進去
r-x:可以cd進去並ls
-wx:可以cd進去並touch,rm自己的文件,並且可以vi其他用戶的文件
-wt:可以cd進去並touch,rm自己的文件

ls -ld /tmp
drwxrwxrwt的權限值是1777(sticky)


7.軟件安裝

1.安裝JDK
添加執行權限
chmod u+x jdk-6u45-linux-i586.bin
解壓
./jdk-6u45-linux-i586.bin
在/usr目錄下創建java目錄
mkdir /usr/java
將/soft目錄下的解壓的jdk1.6.0_45剪切到/usr/java目錄下
mv jdk1.6.0_45/ /usr/java/
添加環境變量
vim /etc/profile
在/etc/profile文件最後添加
export JAVA_HOME=/usr/java/jdk1.6.0_45
export CLASSPATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
*更新配置
source /etc/profile

2.安裝tomcat
tar -zxvf /soft/apache-tomcat-7.0.47.tar.gz -C /programs/
cd /programs/apache-tomcat-7.0.47/bin/
./startup.sh

3.安裝eclipse

8.vim

i
a/A
o/O
r + ?替換

0:文件當前行的開頭
$:文件當前行的末尾
G:文件的最後一行開頭
1 + G到第一行
9 + G到第九行 = :9

dd:刪除一行
3dd:刪除3行
yy:復制一行
3yy:復制3行
p:粘貼
u:undo
ctrl + r:redo

"a剪切板a
"b剪切板b

"ap粘貼剪切板a的內容

每次進入vi就有行號
vi ~/.vimrc
set nu

:w a.txt另存為
:w >> a.txt內容追加到a.txt

:e!恢復到最初狀態

:1,$s/hadoop/root/g 將第一行到追後一行的hadoop替換為root
:1,$s/hadoop/root/c 將第一行到追後一行的hadoop替換為root(有提示)


9.查找

1.查找可執行的命令:
which ls

2.查找可執行的命令和幫助的位置:
whereis ls

3.查找文件(需要更新庫:updatedb)
locate hadoop.txt

4.從某個文件夾開始查找
find / -name "hadooop"
find / -name "hadooop
" -ls

5.查找並刪除
find / -name "hadooop" -ok rm {} \;
find / -name "hadooop
" -exec rm {} \;

6.查找用戶為hadoop的文件
find /usr -user hadoop -ls

7.查找用戶為hadoop並且(-a)擁有組為root的文件
find /usr -user hadoop -a -group root -ls

8.查找用戶為hadoop或者(-o)擁有組為root並且是文件夾類型的文件
find /usr -user hadoop -o -group root -a -type d

9.查找權限為777的文件
find / -perm -777 -type d -ls

10.顯示命令歷史
history

11.grep
grep hadoop /etc/password


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 .
將/etc/password追加文件到bak.tar中(r)
tar -rvf bak.tar /etc/password

6.解壓
tar -xvf bak.tar

7.打包並壓縮gzip
tar -zcvf a.tar.gz

8.解壓縮
tar -zxvf a.tar.gz
解壓到/usr/下
tar -zxvf a.tar.gz -C /usr

9.查看壓縮包內容
tar -ztvf a.tar.gz

zip/unzip

10.打包並壓縮成bz2
tar -jcvf a.tar.bz2

11.解壓bz2
tar -jxvf a.tar.bz2


11.正則

1.cut截取以:分割保留第七段
grep hadoop /etc/passwd | cut -d: -f7

2.排序
du | sort -n

3.查詢不包含hadoop的
grep -v hadoop /etc/passwd

4.正則表達包含hadoop
grep ‘hadoop‘ /etc/passwd

5.正則表達(點代表任意一個字符)
grep ‘h.*p‘ /etc/passwd

6.正則表達以hadoop開頭
grep ‘^hadoop‘ /etc/passwd

7.正則表達以hadoop結尾
grep ‘hadoop$‘ /etc/passwd

規則:
. : 任意一個字符
a : 任意多個a(零個或多個a)
a? : 零個或一個a
a+ : 一個或多個a
.
: 任意多個任意字符
. : 轉義.
\<h.*p\> :以h開頭,p結尾的一個單詞
o{2} : o重復兩次

grep ‘^i.{18}n$‘ /usr/share/dict/words

查找不是以#開頭的行
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


12.輸入輸出重定向及管道

1.新建一個文件
touch a.txt

b.txt

2.錯誤重定向:2>
find /etc -name zhaoxing.txt 2> error.txt

3.將正確或錯誤的信息都輸入到log.txt中
find /etc -name passwd > /tmp/log.txt 2>&1
find /etc -name passwd &> /tmp/log.txt

4.追加>>

5.將小寫轉為大寫(輸入重定向)
tr "a-z" "A-Z" < /etc/passwd

6.自動創建文件
cat > log.txt << EXIT

ccc
ddd
EXI

7.查看/etc下的文件有多少個?
ls -l /etc/ | grep ‘^d‘ | wc -l

8.查看/etc下的文件有多少個,並將文件詳情輸入到result.txt中
ls -l /etc/ | grep ‘^d‘ | tee result.txt | wc -l


13.進程控制

1.查看用戶最近登錄情況
last
lastlog

2.查看硬盤使用情況
df

3.查看文件大小
du

4.查看內存使用情況
free

5.查看文件系統
/proc

6.查看日誌
ls /var/log/

7.查看系統報錯日誌
tail /var/log/messages

8.查看進程
top

9.結束進程
kill 1234
kill -9 4333



## 公眾號

* 全網唯一一個從0開始幫助Java開發者轉做大數據領域的公眾號~

* 公眾號**大數據技術與架構**或者搜索**import_bigdata**關註,大數據學習路線最新更新,已經有很多小夥伴加入了~

![](https://user-gold-cdn.xitu.io/2019/2/23/1691a0d20e61eb0d?w=300&h=390&f=png&s=14824)

大數據成神之路-Linux基礎