echo abcdefg >> aa.txt //向aa.txt文件末尾追加 abcdefg 字符串
1 基礎命令: 2 clear //清屏 3 4 whoami //查看當前所登陸的用戶 5 6 who //Print information about users who are currently(目前) logged in. 7 SYNOPSIS(摘要): who [OPTION]... [ FILE | ARG1 ARG2 ] 8 DESCRIPTION(描述): Print information about users who are currently(目前) logged in. 9 10 11 date: //Display the current time in the given FORMAT, or set the system date. 12 date [OPTION]... [+FORMAT]:顯示 13 FORMAT: 格式符號 14 %D 15 %F 16 %T 17 date [MMDDhhmm[[CC]YY][.ss]]:設置 18 MM: 月分 19 DD:幾號 20 hh: 小時 21 mm: 分鐘 22 YY: 兩位年份 23 CCYY: 四位年份 24 .ss: 秒鐘 25 26 Linux的兩種時鐘: 27 系統時鐘:由Linux內核經過CPU的工做頻率進行的計時; 28 硬件時鐘: 29 30 hwclock: 顯示硬件時鐘 31 -s, --hctosys 32 -w, --systohc 33 34 cal:日曆 35 36 目錄相關的命令: 37 當前目錄或工做目錄 38 主目錄,家目錄:HOME 39 root: /root 40 普通用戶:/home/USERNAME 41 /home/tom 42 43 ~:用戶的主目錄 44 45 cd: 46 cd 或 cd ~: 回當前用戶的主目錄 47 cd ~USERNAME: 切換至指定用戶的主目錄 48 cd -: 在上一個目錄和當前目錄之間來回切換 49 50 . 51 .. 52 53 相關的環境變量: 54 PWD:保存了當前目錄路徑; 55 OLDPWD:上一次所在目錄路徑; 56 57 pwd: 顯示當前目錄 58 59 ls: list 60 顯示指定路徑下的文件列表; 61 62 ls [OPTION]... [DIR]... 63 -a, --all: 顯示全部文件,包括隱藏文件; 64 -l: 長格式 65 -rw-r--r-- 1 root root 44800 Aug 14 14:32 install.log 66 -rw-r--r--: 67 最左側的第一位:文件類型 68 -, d, l, b, c, p, s 69 後面的9位:訪問權限,perm 70 數字:文件被硬連接的次數; 71 左root: 文件的owner 72 右root: 文件的group 73 44800:文件的size 74 Aug 14 14:32 : 文件的最近一次被修改的時間 75 install.log: 文件名 76 -h, --human-readable:單位換算 77 -d: 顯示目錄自身的相關屬性;一般要與-l一塊兒使用; 78 -r, --reverse: 逆序顯示 79 -R, --recursive: 遞歸 80 81 82 83 stat /PATH/TO/SOMEFILE:獲取指定文件的元數據 84 85 文件查看命令:cat, tac 86 cat [OPTION]... [FILE]... 87 -E: 顯示行結束符$ 88 -n: 對顯示出的每一行進行編號 89 90 文件內容類型查看命令:file 91 file /PATH/TO/SOMEWHERE 92 93 回顯命令:echo 94 -n: 禁止自動添加換行符號; 95 -e: 容許使用轉義符; 96 \n: 換行 97 \t: 製表符 98 99 echo "$VAR_NAME": 變量會替換,雙引號表弱引用 100 echo '$VAR_NAME': 變量不會替換,強引用 101 102 which:顯示命令對應的程序文件路徑 103 which [OPTION] COMMAND 104 --skip-alias:禁止顯示別名 105 106 whatis: 107 使用mkwhatis命令可將當前系統上全部的幫助手冊及與之對應的關鍵字建立爲一個數據庫; 108 109 系統管理類命令: 110 關機: 111 halt, poweroff, shutdown, init 0 112 重啓: 113 reboot, shutdown, init 6 114 跟用戶登陸相關: 115 who, whoami, w 116 117 目錄管理類命令: 118 cd, pwd, ls 119 120 mkdir, rmdir, tree 121 122 mkdir [options] /path/to/somewhere 123 -p: 存在於不報錯,且可自動建立所需的各目錄; 124 -v: 顯示詳細信息 125 -m MODE: 建立目錄時直接指定權限; 126 127 tree: 128 -d: 只顯示目錄 129 -L level:指定顯示的層級數目 130 -P pattern: 只顯示由指定pattern匹配到的路徑; 131 132 rmdir:刪除空目錄 133 rmdir [OPTION]... DIRECTORY... 134 -v: 顯示過程; 135 136 文本文件查看類命令: 137 cat, tac 138 more, less, tail, head 139 140 more 141 more [OPTIONS...] FILE... 142 -d: 顯示翻頁及退出提示 143 144 less 145 less [OPTIONS...] FILE... 146 147 head 148 head [OPTION]... [FILE]... 149 -c #: 指定獲取前#字節 150 -n #: 指定獲取前#行 151 -#: 152 153 tail 154 tail [OPTION]... [FILE]... 155 -c #: 指定獲取後#字節 156 -n #: 指定獲取後#行 157 -#: 158 -f: 跟蹤顯示文件新追加的內容; 159 160 文件的時間戳管理工具: 161 touch 162 163 文件:metadata, data 164 查看文件狀態:stat 165 166 三個時間戳: 167 access time:訪問時間,簡寫爲atime,讀取文件內容 168 modify time: 修改時間, mtime,改變文件內容(數據) 169 change time: 改變時間, ctime,元數據發生改變 170 171 touch命令: 172 touch [OPTION]... FILE... 173 -a: only atime 174 -m: only mtime 175 -t STAMP: 176 [[CC]YY]MMDDhhmm[.ss] 177 -c: 若是文件不存,則不予建立 178 179 180 文件管理: 181 cp, mv, rm 182 183 複製命令:cp 184 cp [OPTION]... [-T] SOURCE DEST 185 cp [OPTION]... SOURCE... DIRECTORY 186 cp [OPTION]... -t DIRECTORY SOURCE... 187 188 cp SRC DEST 189 SRC是文件: 190 若是目標不存在:新建DEST,並將SRC中內容填充至DEST中; 191 若是目錄存在: 192 若是DEST是文件:將SRC中的內容覆蓋至DEST中; 193 此時建議爲cp命令使用-i選項; 194 若是DEST是目錄:在DEST下新建與原文件同名的文件,並將SRC中內容填充至新文件中; 195 196 cp SRC... DEST 197 SRC...:多個文件 198 DEST必須存在,且爲目錄,其它情形均會出錯; 199 200 cp SRC DEST 201 SRC是目錄: 202 此時使用選項:-r 203 204 若是DEST不存在:則建立指定目錄,複製SRC目錄中全部文件至DEST中; 205 若是DEST存在: 206 若是DEST是文件:報錯 207 若是DEST是目錄: 208 209 經常使用選項: 210 -i:交互式 211 -r, -R: 遞歸複製目錄及內部的全部內容; 212 -a: 歸檔,至關於-dR --preserv=all 213 -d:--no-dereference --preserv=links 214 --preserv[=ATTR_LIST] 215 mode: 權限 216 ownership: 屬主屬組 217 timestamp: 218 links 219 xattr 220 context 221 all 222 -p: --preserv=mode,ownership,timestamp 223 -v: --verbose 224 -f: --force 225 226 mv: move,移動文件 227 mv [OPTION]... [-T] SOURCE DEST 228 mv [OPTION]... SOURCE... DIRECTORY 229 mv [OPTION]... -t DIRECTORY SOURCE... 230 231 經常使用選項: 232 -i: 交互式 233 -f: 強制 234 235 rm: remove,刪除 236 rm [OPTION]... FILE... 237 238 經常使用選項: 239 -i: 交互式 240 -f: 強制刪除 241 -r: 遞歸 242 243 rm -rf 244 245 文本編輯器:nano 246 全屏編輯器 247 248 輸出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS 249 >:覆蓋重定向,目標文件中的原有內容會被清除; 250 >>: 追加劇定向,新內容會追加至目標文件尾部; 251 252 # set -C: 禁止將內容覆蓋輸出至已有文件中; 253 強制覆蓋:>| 254 # set +C: 255 256 2>: 覆蓋重定向錯誤輸出數據流; 257 2>>: 追加劇定向錯誤輸出數據流; 258 259 標準輸出和錯誤輸出各自定向至不一樣位置: 260 COMMAND > /path/to/file.out 2> /path/to/error.out 261 262 合併標準輸出和錯誤輸出爲同一個數據流進行重定向: 263 &>:覆蓋重定向 264 &>>:追加劇定向 265 266 COMMAND > /path/to/file.out 2> &1 267 COMMAND >> /path/to/file.out 2>> &1 268 269 輸入重定向:< 270 271 tr命令:轉換或刪除字符 272 tr [OPTION]... SET1 [SET2] 273 274 HERE Documentation:<< 275 # cat << EOF 276 # cat > /path/to/somefile << EOF 277 278 管道: 279 COMMAND1 | COMMAND2 | COMMAND3 |... 280 281 Note:最後一個命令會在當前shell進程的子shell進程中執行; 282 283 tee命令: 284 tee [OPTION]... [FILE]... 285 286 用戶建立:useradd 287 useradd [options] LOGIN 288 -u UID: [UID_MIN, UID_MAX], 定義在/etc/login.defs 289 -g GID:指明用戶所屬基本組,可爲組名,也能夠GID; 290 -c "COMMENT":用戶的註釋信息; 291 -d /PATH/TO/HOME_DIR: 以指定的路徑爲家目錄; 292 -s SHELL: 指明用戶的默認shell程序,可用列表在/etc/shells文件中; 293 -G GROUP1[,GROUP2,...[,GROUPN]]]:爲用戶指明附加組;組必須事先存在; 294 -r: 建立系統用戶 295 CentOS 6: ID<500 296 CentOS 7: ID<1000 297 298 默認值設定:/etc/default/useradd文件中 299 useradd -D 300 -s SHELL 301 302 組建立:groupadd 303 groupadd [OPTION]... group_name 304 305 -g GID: 指明GID號;[GID_MIN, GID_MAX] 306 -r: 建立系統組; 307 CentOS 6: ID<500 308 CentOS 7: ID<1000 309 310 查看用戶相關的ID信息:id 311 id [OPTION]... [USER] 312 -u: UID 313 -g: GID 314 -G: Groups 315 -n: Name 316 317 切換用戶或以其餘用戶身份執行命令:su 318 su [options...] [-] [user [args...]] 319 320 切換用戶的方式: 321 su UserName:非登陸式切換,即不會讀取目標用戶的配置文件; 322 su - UserName:登陸式切換,會讀取目標用戶的配置文件;徹底切換; 323 324 Note:root su至其餘用戶無須密碼;非root用戶切換時須要密碼; 325 326 換個身份執行命令: 327 su [-] UserName -c 'COMMAND' 328 329 選項: 330 -l:「su -l UserName」至關於「su - UserName」 331 332 用戶屬性修改:usermod 333 usermod [OPTION] login 334 335 -u UID: 新UID 336 -g GID: 新基本組 337 -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項,表示append; 338 -s SHELL:新的默認SHELL; 339 -c 'COMMENT':新的註釋信息; 340 -d HOME: 新的家目錄;原有家目錄中的文件不會同時移動至新的家目錄;若要移動,則同時使用-m選項; 341 -l login_name: 新的名字; 342 343 -L: lock指定用戶 344 -U: unlock指定用戶 345 346 -e YYYY-MM-DD: 指明用戶帳號過時日期; 347 -f INACTIVE: 設定非活動期限; 348 349 給用戶添加密碼:passwd 350 passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限 351 passwd: 修改本身的密碼; 352 353 經常使用選項: 354 -l: 鎖定指定用戶 355 -u: 解鎖指定用戶 356 357 -n mindays: 指定最短使用期限 358 -x maxdays:最大使用期限 359 -w warndays:提早多少天開始警告 360 -i inactivedays:非活動期限; 361 362 --stdin:從標準輸入接收用戶密碼; 363 echo "PASSWORD" | passwd --stdin USERNAME 364 365 Note: /dev/null, bit buckets 366 /dev/zero, 367 368 刪除用戶:userdel 369 userdel [OPTION]... login 370 -r: 刪除用戶家目錄; 371 372 組屬性修改:groupmod 373 groupmod [OPTION]... group 374 -n group_name: 新名字 375 -g GID: 新的GID; 376 377 組刪除:groupdel 378 groupdel GROUP 379 380 組密碼:gpasswd 381 gpasswd [OPTION] GROUP 382 383 -a user: 將user添加至指定組中; 384 -d user: 刪除用戶user的以當前組爲組名的附加組 385 386 -A user1,user2,...: 設置有管理權限的用戶列表 387 388 newgrp命令:臨時切換基本組; 389 若是用戶本不屬於此組,則須要組密碼; 390 391 修改用戶屬性:chage 392 chage [OPTION]... LOGIN 393 -d LAST_DAY 394 -E, --expiredate EXPIRE_DATE 395 -I, --inactive INACTIVE 396 -m, --mindays MIN_DAYS 397 -M, --maxdays MAX_DAYS 398 -W, --warndays WARN_DAYS 399 400 401 權限管理: 402 403 文件的權限主要針對三類對象進行定義: 404 owner: 屬主, u 405 group: 屬組, g 406 other: 其餘, o 407 408 每一個文件針對每類訪問者都定義了三種權限: 409 r: Readable 410 w: Writable 411 x: eXcutable 412 413 文件: 414 r: 可以使用文件查看類工具獲取其內容; 415 w: 可修改其內容; 416 x: 能夠把此文件提請內核啓動爲一個進程; 417 418 目錄: 419 r: 能夠使用ls查看此目錄中文件列表; 420 w: 可在此目錄中建立文件,也可刪除此目錄中的文件; 421 x: 能夠使用ls -l查看此目錄中文件列表,能夠cd進入此目錄; 422 423 --- 000 0 424 --x 001 1 425 -w- 010 2 426 -wx 011 3 427 r-- 100 4 428 r-x 101 5 429 rw- 110 6 430 rwx 111 7 431 432 例如: 433 640: rw-r----- 434 rwxr-xr-x: 755 435 436 修改文件權限:chmod 437 chmod [OPTION]... OCTAL-MODE FILE... 438 439 -R: 遞歸修改權限 440 441 chmod [OPTION]... MODE[,MODE]... FILE... 442 MODE: 443 修改一類用戶的全部權限: 444 u= 445 g= 446 o= 447 ug= 448 a= 449 u=,g= 450 451 修改一類用戶某位或某些位權限 452 u+ 453 u- 454 455 chmod [OPTION]... --reference=RFILE FILE... 456 參考RFILE文件的權限,將FILE的修改成同RFILE; 457 458 修改文件的屬主和屬組: 459 僅root可用; 460 461 修改文件的屬主:chown 462 chown [OPTION]... [OWNER][:[GROUP]] FILE... 463 464 用法: 465 OWNER 466 OWNER:GROUP 467 :GROUP 468 469 Note: 命令中的冒號可用.替換; 470 471 -R: 遞歸 472 473 chown [OPTION]... --reference=RFILE FILE... 474 475 修改文件的屬組:chgrp 476 chgrp [OPTION]... GROUP FILE... 477 chgrp [OPTION]... --reference=RFILE FILE... 478 479 -R 480 481 文件或目錄建立時的遮罩碼:umask 482 FILE: 666-umask 483 Note: 若是某類的用戶的權限減得的結果中存在x權限,則將其權限+1 484 DIR: 777-umask 485 486 umask: 查看 487 umask #: 設定
目錄說明linux
1 Linux的文件系統: 2 根文件系統(rootfs): 3 root filesystem 4 5 LSB, FHS: (FileSystem Heirache Standard) 6 /etc, /usr, /var, /root, /home, /dev 7 8 /boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader, grub)都存放於此目錄; 9 /bin:供全部用戶使用的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序; 10 /sbin:管理類的基本命令;不能關聯至獨立分區,OS啓動即會用到的程序; 11 /lib:基本共享庫文件,以及內核模塊文件(/lib/modules); 12 /lib64:專用於x86_64系統上的輔助共享庫文件存放位置; 13 /etc:配置文件目錄(純文本文件); 14 /home/USERNAME:普通用戶家目錄; 15 /root:管理員的家目錄; 16 /media:便攜式移動設備掛載點; 17 cdrom 18 usb 19 /mnt:臨時文件系統掛載點; 20 /dev:設備文件及特殊文件存儲位置; 21 b: block device,隨機訪問 22 c: character device,線性訪問 23 /opt:第三方應用程序的安裝位置; 24 /srv:系統上運行的服務用到的數據; 25 /tmp:臨時文件存儲位置; 26 /usr: universal shared, read-only data; 27 bin: 保證系統擁有完整功能而提供的應用程序; 28 sbin: 29 lib: 30 lib64: 31 include: C程序的頭文件(header files); 32 share:結構化獨立的數據,例如doc, man等; 33 local:第三方應用程序的安裝位置; 34 bin, sbin, lib, lib64, etc, share 35 36 /var: variable data files 37 cache: 應用程序緩存數據目錄; 38 lib: 應用程序狀態信息數據; 39 local:專用於爲/usr/local下的應用程序存儲可變數據; 40 lock: 鎖文件 41 log: 日誌目錄及文件; 42 opt: 專用於爲/opt下的應用程序存儲可變數據; 43 run: 運行中的進程相關的數據;一般用於存儲進程的pid文件; 44 spool: 應用程序數據池; 45 tmp: 保存系統兩次重啓之間產生的臨時數據; 46 47 /proc: 用於輸出內核與進程信息相關的虛擬文件系統; 48 /sys:用於輸出當前系統上硬件設備相關信息的虛擬文件系統; 49 /selinux: security enhanced Linux,selinux相關的安全策略等信息的存儲位置; 50 51 Linux上的應用程序的組成部分: 52 二進制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin 53 庫文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64 54 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc 55 幫助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc 56 57 Linux下的文件類型: 58 - (f):普通文件; 59 d: 目錄文件; 60 b: 塊設備; 61 c: 字符設備; 62 l: 符號連接文件; 63 p: 管道文件; 64 s: 套接字文件;socket;
其它說明:ubuntu開啓root用戶、安裝tree命令shell
1 ubuntu開啓root用戶 2 ubuntu的root用戶默認是禁止的,須要手動打開才行 3 事實上ubuntu下的全部操做都用不到root用戶,因爲sudo的合理使用,避免了root用戶下誤操做而產生的毀滅性問題 4 root帳號啓用方法(其實我我的認爲這沒有多大必要): 5 執行下面的操做: 6 1.先解除root鎖定,爲root用戶設置密碼 7 打開終端輸入:sudo passwd 8 Password: <--- 輸入你當前用戶的密碼 9 Enter new UNIX password: <--- 新的Root用戶密碼 10 Retype new UNIX password: <--- 重複新的Root用戶密碼 11 passwd:已成功更新密碼 12 2、更改登錄,容許root登陸 13 打開 系統>系統管理>登陸窗口) 14 點「安全」選項頁,選擇「容許本地管理員登陸」。 15 3、註銷當前用戶,以root登錄 16 若是要再次禁用 root 賬號,那麼能夠執行 sudo passwd -l root。 17 18 ubuntu系統中默認是沒有tree這個命令的,須要安裝,用下面的命令就能夠安裝tree這個命令工具sudo apt-get install tree 19 CentOS使用yum -y install tree