1. 程式人生 > >Linux常用操作詳解

Linux常用操作詳解

第1章 Linux命令基礎

1.1 習慣

操作前備份,操作後檢查

1.2 簡單目錄結構

一切從根開始,與windows不同

1.3 規則

[[email protected] ~]#
[使用者名稱@主機名 你在哪]#

1.4 重定向符號

特殊符號-重定向符號:潑水

1.4.1 輸出重定向

>或1>   標準輸出重定向:

先把原檔案的內容清空,然後把新的內容放到檔案中

>>或1>> 追加輸出重定向:

把前面輸出的東西輸入到後邊的檔案中,不會清除檔案原有內容,只是追加到檔案的最後一行

[[email protected] ~]# echo clsnedu.com >>clsn.txt
[[email protected] ~]# cat clsn.txt
clsnedu.com
[[email protected] ~]# echo clsnedu.cn >clsn.txt
[[email protected] ~]# cat clsn.txt
clsnedu.cn

2>>  錯誤追加輸出重定向

把命令執行錯誤的資訊追加存放在檔案中

2>   錯誤輸出重定向

先把原檔案的內容清空,然後把錯誤資訊放到檔案中

[[email protected] ~]# echa clsnedu.com 2>>clsn.txt

[[email protected] ~]# cat clsn.txt
clsnedu.com
-bash: echa: command not found

把錯誤的內容和正確的資訊都放在一個檔案中.

[[email protected] ~]# echo clsnedu.com   >>clsn.txt  2>>clsn.txt
[[email protected]
~]# cat clsn.txt clsnedu.com -bash: echa: command not found clsnedu.com

錯誤資訊:

[[email protected] ~]# cho clsnedu.com   >>clsn.txt  2>>clsn.txt
[[email protected] ~]# cat clsn.txt
clsnedu.com
-bash: echa: command not found
clsnedu.com
-bash: cho: command not found

簡寫方式:

[[email protected] ~]# cho clsnedu.com   >>clsn.txt  2>&1
[[email protected] ~]# cho clsnedu.com  &>clsn.txt

1.4.2 輸入重定向

<或0< 輸入重定向

輸入重定向重定向用於改變命令的輸入。

      當前僅與xargs聯用

例項1-1          

[[email protected] ~]# cat /data/clsn.txt
1 2 3 4 5
[[email protected] ~]# xargs  -n2 </data/clsn.txt
1 2
3 4
5

<<   追加輸入重定向

使用到的地方不多,目前與cat 一起使用。

例項1-2          

[[email protected] ~]# cat >>/data/clsn.txt<<EOF
I
am
sudent
> EOF

1.5 別名

別名  ==  小名

1、為了省事

2、防止犯錯 給危險的linux命令加上別名

1.5.1 查詢別名的方法

使用alias命令可以檢視系統中都有哪些別名。

[[email protected] ~]# alias rm cp mv
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

1.5.2 別名格式

別名時命令的別名,只能給一條命令設定別名。

1.5.3 給rm設定別名

①臨時設定

      直接在命令列中新增別名,這個別名只能臨時使用,斷開連線後失效。

[[email protected] ~]# alias mv='echo bieyong rm'
[[email protected] ~]# alias rm
alias mv='echo bieyong rm'

②永久設定

a)      把別名放到/etc/profile 檔案最後一行中去,(全域性使用),所有使用者都可以使用。

[[email protected] ~]# tail -1 /etc/profile
alias rm='echo bieyong rm'

b)      修改 ~/.bachrc 檔案,僅對當前使用者設定 別名,對其他使用者沒有作用。

[[email protected] ~]# vim  .bashrc

c)      讓修改的配置檔案生效

使用source命令,使配置檔案生效。

[[email protected] ~]# source /etc/profile
[[email protected] ~]# alias rm
alias rm='echo bieyong rm'

1.5.4 檢視

1.5.5 臨時取消別名的方法

1)     \  轉義符

[[email protected] ~]# \cp /mnt/test.txt /tmp/

2)     使用命令的絕對路徑

查詢命令的絕對路徑使用which命令

[[email protected] ~]# which cp
alias cp='cp -i'
       /bin/cp

            #使用方法

[[email protected] ~]# /bin/cp /mnt/test.txt /tmp/ 

1.6 相對路徑與絕對路徑

絕對路徑, 只要是以根(/)開始的路徑/位置 就是絕對路徑.

 /data
 /tmp
 /etc/sysconfig/network-scripts/ifcfg-eth0

相對路徑, 路徑的最前面 沒有 /, 不是以根開始的路徑.

 etc/hosts
 etc/sysconfig/network-scripts/ifcfg-eth0

1.6.1 切換當前路徑

[[email protected] ~]# cd /data/
[[email protected] data]# cd /tmp/

1.6.2 顯示當前所在位置

[r[email protected] data]# pwd
/data


1.1 檢視Linux版本

1.1.1 系統版本

[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)

1.1.2 核心版本

[[email protected] ~]# uname -r
2.6.32-696.el6.x86_64

1.1.3 系統架構

[[email protected] ~]# uname -m
x86_64

1.2 新增使用者、設定密碼

1.2.1 新增使用者

[[email protected] ~]# useradd clsn

1.2.2 設定密碼

[[email protected] ~]# passwd clsn
Changing password for user clsn. ###修改clsn使用者密碼
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple  ###密碼太簡單
Retype new password:
passwd: all authentication tokens updated successfully(成功).

1.3 切換使用者

1.3.1 使用這個使用者 切換使用者

[[email protected] ~]# su - clsn

1.3.2 顯示你是誰?

[[email protected] ~]$ whoami
clsn

1.4 su 與su- 的區別

su只是切換了root身份,但Shell環境仍然是普通使用者的Shell

su-連使用者和Shell環境一起切換成root身份了。

只有切換了Shell環境才不會出現PATH環境變數錯誤。

su切換成root使用者以後,pwd一下,發現工作目錄仍然是普通使用者的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。

1.5 關閉selinux

1.5.1 永久生效

修改配置檔案: /etc/selinux/config的

[[email protected] ~]# vim /etc/selinux/config

/etc/selinux/config 文件內容含義:

#enforcing     selinux預設狀態 selinux已經開啟,正在執行

#permissive    selinux臨時關閉,顯示警告

#disabled      selinux徹底關閉   

使用sed命令對/etc/selinux/conifg 檔案進行修改

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

讓配置檔案的修改生效,使用source命令

[[email protected] ~]# source /etc/selinux/config

永久修改的配置生效需要重啟伺服器。

使用的伺服器不可以隨意重啟!

1.5.2 臨時關閉

使用getenforce 命令檢視selinux的

[[email protected] ~]# getenforce
Enforcing(正在執行)

使用setenforce 命令修改selinux配置臨時關閉selinux。

[[email protected] ~]# setenforce
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]

[[email protected] ~]# setenforce 0
[[email protected] ~]# getenforce
Permissive(臨時關閉)

1.6 關閉防火牆

1.6.1 臨時關閉

1)         查詢防火牆是否正在執行

[[email protected] ~]# /etc/init.d/iptables status

2)         關閉防火牆

a)      一般需要關兩次,確保完全關閉。

[[email protected] ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                            [  OK  ]

[[email protected] ~]# /etc/init.d/iptables stop

3)         檢查一下是否關閉

[[email protected] ~]# /etc/init.d/iptables status
iptables: Firewall is not running.

1.6.2 永久關閉

確保開機防火牆不再啟動

在chkconfig中查詢iptables 的行,看他的狀態。on是開,off是關。

[[email protected] ~]# chkconfig|grep "ipta"
iptables         0:off      1:off      2:on       3:on       4:on       5:on       6:off

使用chkconfig的命令關閉iptables

[[email protected] ~]# chkconfig iptables off

檢查一下是否關閉了。

[[email protected] ~]# chkconfig|grep "ipta"
iptables         0:off      1:off      2:off      3:off      4:off      5:off      6:off

1.7 顯示亂碼解決

1.7.1 檢視linux系統字符集

[[email protected] ~]# echo $LANG
en_US.UTF-8

1.7.2 檢視遠端軟體的字符集

連線軟體的字符集是否與系統的一致 

1.7.3 亂碼解決辦法

1)         linux系統字符集修改

a)      使用export 對變數進行修改

[[email protected] ~]# export LANG=en_US.utf8
[[email protected] ~]# echo $LANG
en_US.utf8

      b)修改配置檔案,將/etc/sysconfig/i18n修改為utf-8字符集。

[[email protected] ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

      c)使用source或. /etc/sysconfig/i18n  讓配置生效

[[email protected] ~]# source /etc/sysconfig/i18n
[[email protected] ~]# . /etc/sysconfig/i18n