linux常用命令

cat   file1,file2 一次性顯示多個文件
eg: cat /etc/hosts
     cat /var/log/messages 這樣東西比較多的時候,上面的內容看不到
     需要這些快捷鍵,上下翻頁  shift+pageUP/DOWN,Framebuffer
     cat -n   可以顯示行號  
     cat -E   顯示文本文件的換行符
     
$  表示一行結束的符號

more 查看文本文件   支持上下翻頁   但一次只顯示一屏  空格向下翻一屏  b鍵向上翻        enter向下翻一行

less  文件名   支持向前向後翻頁  space/b    enter/k
               支持特殊字符串的查找  /string   查找到最近一個  想再找一個n(next)
                                                           想回到之前一個N(next)
                                     ?string  n   N
               q鍵表示退出

head  文件名   顯示文件的前幾行   默認顯示前10行
      -n   前n行

tail 文件名  顯示文件尾部幾行   默認顯示10行
     -n  尾部n行
     -f
     eg tail /var/log/message  顯示10行退出
        tail -f /var/log/message    顯示10行不退出
直到按ctrl+c退出 

tac   所有文件反過來顯示

命令  選項  參數
COMMAND [POTION] [ARGU]

命令幫助

#command --help 

-help表示 -h-e-l-p,所以是不一樣的

內部命令的幫助信息
#help command

#man COMMAND
命令的(文本)手冊文件,壓縮後存儲,/usr/share/man

man   less

命令手冊是分章節,8個章節

第一個章節、user commands  普通用戶命令
  二        system calls  系統調用
  三        library calls  庫調用
  四        special files  設備文件信息
  五        file formats  文件格式
  六        games
  七        miscellaneous  雜項
  八        administrative commands  管理員命令

man  passwd
man -k passwd 從whatis裏面搜索匹配passwd的字符全挑出來
eg makepasswd
   man man
   man -k passwd

q鍵表示退出

[]:可選
<>:必須有
file...:可以有多個
-x|y|z:從中選一
[-x|y|z]  可選一個  可不選
<-x|y|z>  必選一個
-abc  三者聯合使用

man 5 passwd  顯示第五個章節的passwd信息,命令

whatis COMMAND  告訴你命令在哪些章節有
eg whatis passwd

執行這個命令  如果遍歷一遍很麻煩,系統中用 數據庫
這個命令是 makewhatis:生成數據庫

查看man命令

man man
   -M   指定路徑(path)

#man info 
#info passwd  查找info,獲得補充信息

每一個外部命令:
    README
        INSTALL
        COPYRIGHT
文檔doc,/usr/share/doc

FAQ(經常被問答的問題)

kbase。redhat。com紅帽官方  問題庫

date 顯示或設置系統日期和時間 shutdown 關機或重啓 cal 日曆 ifconfig 接口的配置信息

date如何修改當前系統時間-s或者date 時間,如何顯示當前日期date +%F或date +%D,如何顯示當前時間date +%T,如何只顯示當前的小時%H  分鐘%M  秒%S   date +%H-&M-%S或date “+%H-&M-%S”

shutdown如何關機-h,如何重啓-r
shutdown -h now 或 shutdown -h +0  都表示立即關機
shutdown -h +10  十秒以後關機

cal如何顯示2012年12月
cal 2011  顯示2011年所有月份
cal 12 2011   顯示2011年12月份

ifconfig
ifconfig ethX ip/MASK
Ifconfig etn0 172.16.10.100/16

ssh協議:tcp  22號端口

putty
secureCRT
Xmanager

用戶、組、權限:

認證機制:確認用戶就是所生成的用戶

進程:是資源的分派單位
每一個進程都是在特定用戶的

用戶 
用戶賬號:root,student
linux:用戶ID號,簡稱UID
    十進制整數 0-65535  與賬號一一對應

用戶類別:
管理員:root,0
系統用戶:維護系統運行,1-499
普通用戶:500-60000
nobody:-1 表示來賓賬號(相當於window中的guest)

Linux支持多種shell:
  GUI:可有可無,常見的流行的系統:gnome,KDE,xface
  CLI:bash(默認),sh,ksh,zsh,csh,tcsh,ash

/etc/passwd  純文本文件  每一行標示一個用戶
/etc/shadow  純文本文件,影子口令(加密的,單向的),存放用戶密碼


組:分配權限的容器,簡稱GID
基本組:每一個用戶建立起來之後都有一個基本組
附加組(額外組):用戶可以屬於多個組,不常用的組

/etc/group  存放所有組的安全信息

臨時切換組到另一個組:newgrp

組的密碼放在/etc/gshadow

文件權限:
每一個文件都有權限模型mode:屬主(所有者)和屬組(所屬的組)
                            權限
文件類型:普通文件 用f表示   但是在ls命令的顯示結果中,用-表示
          鏈接文件   l       指的是符號連接文件
          目錄文件   d
          塊設備     b
          字符設備   c
          套接字文件 s
          命名管道   p

9位權限:
---   ---  --- 
(u)(g)(o)

r:讀   表示讀的話rrr
w:寫
x:執行
         
文件權限:
r:查看
w:編輯,修改
x:運行

目錄權限:
r:ls查看,不能使用ls -l,也不能cd進去
w:在目錄中創建文件
x:cd進去

這三種權限的組合:
rwx:
--- 000  0
--x 001  1
-w- 010  2
-wx 011  3
r-- 100  4
r-x 101  5
rw- 110  6
rwx 111  7

640   rw-r-----  

rw-rw-r--  root     root   a.txt
           (屬主)(屬組)

jerry有寫權限
1.讓他成爲屬主
2.讓他加入root組;把文件的屬組改爲他所屬的組,mygrp
3.r--,rw-

useradd USERNAME  創建用戶
   -u UID  制定用戶ID
   -g GID  (此組必須事先存在)
   -c “COMMENT”
   -d  /path/to/somewhere
   -s  指定用戶shell的種類
   -G group(組必須事先存在,可以指多個,用逗號隔開)

groupadd GROUPNAME
   -g GID  組的ID號
   eg groupadd -g 100 dba
      tail -1 /etc/group
      useradd -g dba oracle
      id oracle
     
冒號是分隔符,表示有幾個段落

passwd [USERNAME]
passwd -l 用戶名   鎖定
passwd -u 用戶名   解鎖

       --stdin  從標準輸入讀入密碼

echo "string"  回顯字符串
echo "radhat"
echo "radhat"|passwd --stdin mysql  把mysql的密碼改爲redhat

userdel USERNAME
    -r

groupdel GRPNAME


bc  是計算器


9999  
7   離密碼還有多長時間,就要提醒用戶
倒是第三段
倒數第二天到期鎖定時間
倒數第一段預留段

usermod  修改用戶賬號的屬性
   -u  用戶ID
   -g  組
   -G  附加組後面再加幾個組
   -s  用戶shell
   -c  改用戶註釋
   -l  修改用戶名
   -e  用戶賬號的有效期限,格式yy-mm-dd
   -f  用戶賬號過期時
   -d  改變用戶家目錄(創建一個新的空目錄,用戶弄過來)-m  全部挪過來

權限管理:
mode:
  u,g
  perm:ugo

a.txt,u:root,g:root,perm:664

jerry,write


chown USER FILE1,。。。改變屬主
   -R   把目錄下所有屬主都改了

chgrp GROUP FILE1,。。。改變屬組
  -R   把目錄下所有屬組都改了

chown USER:GROUP FILE,。。。
chown USER.GROUP FILE,。。。

只改屬組  chown :GROUP FILE

--reference=

chown --reference=A B   把B的屬主屬組改的和A一樣

改變權限:
chmod [option]mode,mode,... FILE,...

chmod nnn(八進制) FILE  把三個權限全改了

chmod u|g|o|a=mode FILE,。。。


chmod u|g|o|a +|- mode FILE,。。。

shell:

1、命令行編輯
Ctrl+a  光標到行首
Ctrl+e  光標到行尾
Ctrl+u  光標到行首刪除
Ctrl+k  光標到行尾刪除
Ctrl+arrow

2、globbing:文件名通配

*:任意長度的任意字符
  a*b,aab
?:任意單個字符
  a?b,aab,ayb
[]:指定範圍內的任意字符,[abc][0-9][a-z][A-Z]
                         [:lower:][:upper:][[:digit:]]
[^a-z]

a[a-z]b

/etc/pass

3、命令行展開
~
cd ~redhat
{}
x/y  x/z  x/y/a1  x/z/b1   m/n

mkdir -p {x/{y/a1,z/b1},m/n}

x_y,x_z,m_y,m_z

mkdir -v (x,m)_(y,z)

$(),``

4、如何避免字符展開

a*b

ls a*b

\  避免一個字符表示通配的意義

使用命令別名
ll=ls -l

alias lis=clear   定義別名
unalias  撤銷別名

\+別名   表示原來的命令

bat,批處理

shell

nano 文件名

bash

user1
user2
user3

顯示創建完成,並顯示時間

1、使用一個命令顯示/etc目錄中所有以一個小寫字母開頭而後緊跟一個數字後再跟任意字符的文件的文件類型
ls -l [a-z][0-9]* /etc

2、以一個命令在/tmp目錄創建以下目錄:
   myroot, myroot/etc, myroot/etc/rc.d, myroot/etc/init.d, myroot/usr, myroot/usr/local, myroot/var, myroot/var/log, myroot/proc, myroot/sys, myroot/mnt, myroot/media, myroot/lib, myroot/boot, myroot/boot/grub
mkdir -pv /tmp/{myroot/{etc/{rc.d,init.d},usr/local,var/log,proc,sys,mnt,media,lib,boot/grub}}

3、以一個命令顯示當前系統上所有可用shell對應的可執行文件的文件內容類型;

4、創建各一個名字爲"a*b","a b", "$ab", "a?b"的文件(文件名爲引號內的內容);
touch a*b "a b" '$ab' 'a?b'
寫一個腳本:
1、創建目錄/tmp/scripts
mkdir -pv /tmp/scripts

2、切換工作目錄至此目錄中
cd /tmp/scripts

3、複製/etc/pam.d目錄至當前目錄,並重命令爲test
cp -r /etc/pam.d /tmp/scripts/test

4、將當前目錄中的test及其裏面的文件和子目錄的屬主改爲redhat
chown -R  redhat test

5、將test及其子目錄中的文件的其它用戶的權限改爲沒有任何權限
chmod  -R o=--- test

寫一個腳本:
1、顯示當前系統日期和時間,而後創建目錄/tmp/lstest
date +%F-%H-%M-%S
mkdir -pv /tmp/lstest
2、切換工作目錄至/tmp/lstest
cd /tmp/lstest
3、創建目錄a1d, b56e, 6test
mkdir a1d b56e 6test
4、創建空文件xy, x2y, 732
touch xy x2y 732
5、列出當前目錄下以a、x或者6開頭的文件或目錄;
ls [ax6]*
6、列出當前目錄下以字母開頭,後跟一個任意數字,而後跟任意長度字符的文件或目錄;  
ls [a-zA-Z][0-9]*

執行  bash !$

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章