Centos7 命令總結
隱藏文件: 系統文件 不能亂動
ls -a
ls /
ls -l --long
權限(ugo) 引用計數 所有者 所屬組 文件大小 最后修改時間 文件名稱
ls -l /
- d l 管道文件 套子接
rw- r-- r--
只有當需要運行的時候 ,是個腳本 才給予執行權限
ls -ld /etc
查看目錄本身的詳細信息
文件的id號
ls -i /etc
=========
mkdir /tmp/xiaoming
mkdir -p /tmp/japan/boduo
mkdir /tmp/janpan/ce /tmp/janpan/ed
cd /tmp/janpan
cd /etc
pwd 當前目錄
rmdir /tmp/janpan/dd 只能刪除空目錄
rm -rf file
cp /tmp/dd /root
cp -r /tmp/janpan /root -r 復制目錄
cp -r /tmp/janpan /root/jap18 復制同時改名
cp /2.txt /a.txt /tmp
cp -p /2.txt /a.txt /tmp 文件時間不會改變
ctrl+l 清屏
mv /tmp/janpan/cj /root 剪切
mv /tmp/janpan/lz /root/ns
mv 23 45
================
touch aa
touch "aa bb"
cat file
cat -n file 行號
tac file
more file q退出 , 回車 一行 , 空格 翻頁
less file 搜索 /nologin n 下一個
head -n 7 /etc/passwd head file 默認前10行
tail -n 7 file tail file ..
=================
ln -s /etc/issue /tmp/issue.soft
ln /etc/issue /tmp/issue.hard
硬鏈接同步更新
=======
文件權限
chmod ugoa +-= rwx file/d
chmod u+x,g+w 2.txt
chmod g=rwx 2.txt
chmod 640 2.txt
chmod 777 /tmp/a a目錄下的權限不隨之改變
chmod -R 777 /tmp/a 改變目錄下的所有權限
改變文件的所有者 只有管理員可以做
chown root ab 更改所有者
什么時候改變
當文件本身所有者有業務出差時 ,交予其他人繼續完成
groupadd test 更改組
chgrp test aa
=====================
find 范圍 條件 ? 單個字符 * 多個字符
find / -name init?
find / -iname init 忽略大小寫
find / -size +204800 大于100M的文件 1數據塊 =512字節 0.5k 100m=102400kb=204800
find /home -user cxl 查找所有者為cxl的文件
find / -cmin -5 change 文件屬性
find / -amin -5 access 訪問時間
find / -mmin -5 modify 文件內容 5分鐘以前
find /etc -name init* -a -type f/d/l
find /etc -name inittab -exec ls -l {} \;注意空格
find /etc -name init* -a -type f -ok rm {} \;
-0 或者
ls -i
find . -inum 31531 -exec rm {} \;
=locate 文件資料庫
locate inittab 命令未找到
yum -y install mlocate
[ root@localhost tmp]# locate inittab
locate: can not stat () `/var/lib/mlocate/mlocate.db': 沒有那個文件或目錄
安裝成功了,現在使用 updatedb 命令來創建locate命令依賴的數據庫。
[ root@localhost tmp]# updatedb
這樣就OK了
/var/lib/mlocate/mlocate.db 定期更新
也可以手動更新
updatedb
touch abc
locate abc 找不到
updatedb
locate abc 找到了
缺點:找不到tmp 下面的文件
locate -i file 不區分大小寫
=which 查找命名所在的目錄 別名
which ls/mkdir
=whereis 路徑 、 手冊
whereis ls / rm
=grep -iv 字符串 目錄 【 -i 不區分大小寫 -v 排除指定字符串】
grep -i mysql /install.log
grep -v ^# /etc/inittab
===================================
幫助命令
man ls
man rm
/abc 搜索 q enter 一行 空格 /翻頁
man passwd 1 命令的幫助 5 配置文件的幫助
whereis passwd
man passwd
whatis ls
apropos /etc/inittab
touch --help
ls --help
rm --help
help umask
============
用戶管理
useradd yangmi
passwd yangmmi
who
w tty 本地終端 pts 遠程終端
uptime
============
壓縮
gzip abc abc.gz
gunzip abc.gz
只可以壓縮文件 不可以壓縮目錄
tar 打包 目錄
tar -cvf janpan.tar janpan
gzip janpan.tar =>janpan.tar.gz
---------
tar -zcvf janpan.tar.gz janpan 壓縮 z 壓縮
tar -zxvf janpan.tar.gz 解壓 z 解壓 x 解包
---------
zip
yum install zip
zip abc.zip abc
zip -r janpan.zip janpan
unzip abc.zip
------
bzip2 -k abc 保留源文件
tar -cjf janpan.tar.bz2 janpan
bunzip2 -k abc.bz2
tar -xjf janpan.tar.bz2
==========================
網絡命令
wirte cxl
wall lingzhliing you l
ip addr eno16777736 192.168.124.127
last
lastlog
traceroute www.sina.com.cn
netstat -tlun 查看本機已開啟了哪些端口
tcp 可以接受訪問 所以有監聽
netstat -an 查看正在連接的程序
netstat -rn 查看本機路由表
掛載光盤
設置 設備狀態 已連接 要打勾 不然連接不通
dev/cdrom
mkdir /mnt/cdrom
mount -t iso9660 /dev/sr0 /mnt/cdrom
cd /mnt/cdrom
umount /dev/cdrom 卸載
============================
vim
命令模式
set nu
a :在光標所在字符后插入
A :在光標所在行尾插入
i :在光標所在字符前插入
I :在光標所在行行首插入
o :在光標下插入新行
O :在光標上插入新行
:set nu 設置行號
:set nonu 取消行號
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
$ :行尾
0 :行首
x:刪除光標所在處字符
nx:刪除光標所在處后n個字符
dd:刪除光標所在行
dG:刪除光標所在行到文件末尾內容
D:刪除光標所在處到行尾內容
:n1,n2d ps: :3,5d 刪除3到5行
yy 復制當前行
nyy 復制當前行以下n行
dd 剪切當前行
ndd 剪切當前行以下n行
p 、P 粘貼在當前光標所在行下或行上
r :替換
R :替換
u :取消
:set ic 忽略大小寫
/string 搜索
n 搜索指定字符串的下一個出現的位置
:%s/old/new/g 全文替換指定字符串
:n1,n2s/old/new/g 在一定范圍內替換指定字符串
:%s/old/new/c 會詢問是否替換
w 保存修改
wq 保存退出
ZZ 保存退出
q! 不保存退出
wq! 保存退出
:r !命令 在光標所在處下面導入執行結果
:n1,n2s/^/#/g 替換
:n1,n2s/^#//g
:n1,n2s/^/\/\//g
替換 在做編輯的時候 把長的文字用別名表示,輸入后又會變為原來的內容
ab my cxlhk772@163.com
==================================
軟件包
源碼包 腳本安裝包
二進制包 (rpm,系統默認包)
rpm
rpm -ivh file 安裝
rpm -ivh 包全名 安裝
rpm -Uvh 包全名 升級
rpm -e 包名 卸載
rpm -q 包名 查詢包
rpm -qa 查詢所有包
rpm -qi 包名 包的詳細信息
rpm -qip 包全名 查看未安裝包的信息
rpm -ql 包名 查看安裝路徑
==========
yum list 查詢所有可用軟件包
yum search 關鍵字
yum -y install 包名 包全名概念只在rpm中存在
yum -y install gcc c語言編輯器 所有源碼包都需要c的支持
yum -y update 包名 升級
yum -y remove 包名 卸載
yum -y update 升級所有 包括內核 危險 慎用
yum grouplist 列出所有可用的軟件組列表
yum groupinstall 軟件組名
yum groupremove 軟件組名
==本地光盤yum搭建
測試
yum list ==>c6
==
rpm -q httpd
rpm -ql httpd
源碼安裝
httpd-2.4.12
du -sh httpd-2.4.12
下載httpd-2.4.12.tar.gz
安裝httpd ?
========================
7. 用戶 用戶組
普通用戶變成管理員,只需要在/etc/passwd把第3個字段改為0即可!
用戶密碼存放在/etc/shadow中
普通用戶的id在500到65535之間
shadow
/etc/shadow
/etc/group 組信息
默認創建用戶的時候 組名跟用戶名一樣的
/etc/gshadow
組中 會有組長 給組長一個密碼 來管理其他人
windows是把用戶添加到管理員組 是改了組id
/var/spool/mail/用戶名/ 只是客戶端 沒有服務器
/etc/skel 如果在此文件下創建文件 則每次增加用戶時 都會生成該文件
ps: skel / a b
useradd trr
cd /home
a b
==========
grep sc /etc/passwd
grep sc /etc/shadow
grep sc /etc/group
grep sc /etc/gshadow
加密成功
/etc/shadow 密碼前會有!
解鎖成功 會消失 即可登陸
刪除用戶
userdel ttr
groupadd -g gid test
groupmod -g gid -n newg oldg
groupdel 組名
刪除主組時,先刪除用戶 userdel -r user groupdel tg
gpasswd -a user1 tg
gpasswd -d lamp1 tg
gpasswd 操作的是附加用戶
============================
10 . shell
history
alias 別名='xx'
unalias 別名
輸出重定向
ls > ab 覆蓋
ls >> ab 追加
lst 2>>ab 錯誤命令輸出
ls >> bc 2>&1
datag &>>bc
ls &>/dev/null
ls >> de 2>>ef 正確命令輸出到de 錯誤輸出到ef
==wc
-c 統計字節 -w 統計單詞數 -l 統計行數
wc <anaconda-ks.cfg
60 130 1531
60 行 130單詞 1531字符