1. 程式人生 > 實用技巧 >洛谷 P3381 【模板】最小費用最大流(費用流)

洛谷 P3381 【模板】最小費用最大流(費用流)

目錄

linux命令大全
linux命令手冊

shell簡單使用

vim test.sh
for i in {1..100}
do
 useradd test$i
 echo "create test$i"
done

bash test.sh

Shell提示符

$ = 普通使用者, # = root使用者(超級管理員)

[root@lqz ~]# 
root:當前登入使用者
@ :沒有意義
lqz:主機名稱,如果很長會顯示不全,通過hostname檢視

~:當前使用者所在家目錄

[root@web01 ~]# useradd jack
[root@web01 ~]# passwd jack
Changing password for user jack.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.

Shell基礎語法

#命令  選項  引數
command [-options] [arguments]

[root@lqz ~]# ls             #命令
[root@lqz ~]# ls -a          #命令+選項
[root@lqz ~]# ls -a /home/   #命令+選項+引數
ls -a -l
ls -la
ls --all
ls --list
ls -c
ls --color
ls -a /tmp
#命令: 整條shell命令的主體
#選項: 用於調節命令的輸出效果
    #以 “-”引導短格式選項(單個字元),例如“-l”
    #以“--”引導長格式選項(多個字元),例如“--color”
    #多個短格式選項可以寫在一起,只用一個“-”引導,例如“-al”
#引數: 命令操作的物件,如檔案、目錄名等
# 選項和引數可以出現位置調換,命令,選項,引數之間要至少有一個空格
# 命令必須開頭, 選項和引數位置可以發生變化

命令補全

yum provides ifconfig
yum install net-tools

#檢視ip時忘記具體了命令
[root@lqz ~]# ifcon
#按下tab鍵會自動補全
[root@lqz ~]# ifconfig

#按一下tab鍵沒有反應, 按兩下tab鍵列出所有if開頭的命令
[root@lqz ~]# if
if         ifconfig   ifenslave  ifrename
ifcfg      ifdown     ifnames    ifup

#linux目錄較深,經常使用tab鍵進行補全, 如果路徑出錯是沒有辦法補全(帶斜線表示是目錄(window叫資料夾))
[root@lqz ~]# ls /etc/sysconfig/network-scripts/

# 安裝選項補全
yum install bash-comple*
yum install bash-completion 
# ls -- Tab建,空格上下翻

常用命令快捷鍵

Ctrl + a    #游標跳轉至正在輸入的命令列的首部
Ctrl + e    #游標跳轉至正在輸入的命令列的尾部
Ctrl + c    #終止前臺執行的程式
Ctrl + d    #在shell中,ctrl-d表示推出當前shell。
Ctrl + z    #將任務暫停,掛至後臺
Ctrl + l    #清屏,和clear命令等效。
Ctrl + k    #刪除從游標到行末的所有字元
Ctrl + u    #刪除從游標到行首的所有字元
Ctrl + r    #搜尋歷史命令, 利用關鍵字,Tab建選中
Ctrl + w    #按單詞或空格進行向前刪除
Ctrl + 左右建 #按單詞或空格進行向前向後跳

#在命令列前加面加 "#" 則該命令不會被執行

歷史命令History

"""
-w 儲存命令歷史到歷史檔案
-c 清空命令歷史記錄, 不會情況檔案
-d 刪除命令歷史的第 N 條行
"""
#1.使用雙 !! 可執行上一條執行過的命令
[root@lqz ~]# ls
lqz.com
[root@lqz ~]# !!
ls
lqz.com

#2.輸入!6, 執行history命令歷史中第 6 行命令
[root@lqz ~]# !6
touch lqz.com

#使用!cat, 呼叫history命令歷史最近一次執行過的cat命令
[root@lqz ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
[root@lqz ~]# !cat  # 最近一次
cat /etc/sysconfig/network-scripts/ifcfg-eth0

[root@lqz ~]# ls /etc/passwd
#呼叫上一條命令的最後引數或選項, 按下ESC鬆開, 然後按下 "."
[root@lqz ~]# cat
[root@lqz ~]# cat /etc/passwd
#第二種方式, 輸入!$
[root@lqz ~]# ls !$
ls /etc/passwd
/etc/passwd

# history -d 100  刪除第100條歷史記錄
# history -c      清空記錄(儲存到檔案中的還有)
# history -w      儲存歷史集合,儲存到當前使用者的家目錄 .bash_history
# > .bash_history  清空檔案的儲存(操作完,不讓別人看你執行的命令)

命令別名

命令別名將使用者經常使用的複雜命令簡單化, 可以用alias 別名名稱=命令命令建立屬於自己的命令別名, 若要取消一個命令別名,則是用unalias 別名名稱命令

#1.定義臨時別名, wk為檢視eth0網絡卡別名
[root@lqz ~]# alias wk='ifconfig'
# alias 檢視一下是否成功,發現系統內建了很多
[root@lqz ~]# wk
# 取消別名(都是臨時的)
[root@lqz ~]# unalias wk 

#2.如果定義命令本身, 會執行什麼?
[root@lqz ~]# alias ifconfig='ifconfig eth0'
#絕對路徑執行, 呼叫命令本身
[root@lqz ~]# /sbin/ifconfig
#通過轉義字元, 呼叫命令本身
[root@WebServer ~]# ifconfig

#3.取消別名
[root@lqz ~]# unalias ifconfig

#4.永久生效,/etc/bashrc
[root@lqz ~]# echo "alias ifconfig='ifconfig eth0'" >> /etc/bashrc

幫助命令

[root@lqz ~]# ls --help
用法: ls [選項]...[檔案]...

#ls 常見選項
-a  #檢視目錄下的所有檔案,包括隱藏檔案
-l  #以長格式的方式顯示檔案的詳細內容
-h  #以人性化的方式顯示內容,配合-l使用
-d  #只列出目錄名,不列出目錄以下的內容
-t  #按修改時間進行排序
-i  #顯示檔案的inode(該檔案在該分割槽的一個編號)

[root@lqz ~]# date --help
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
  
[root@lqz ~]# date +%F   #檢視日期
2019-03-28
[root@lqz ~]# date -s 12:00  #修改時間

#時間不是用來檢視,而是有其他的用途
[root@web01 ~]# touch `date +%F`_file.txt
[root@web01 ~]# ls
2019-03-28_file.txt



man ls    #檢視ls命令的手冊