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