Professional Documents
Culture Documents
1001 Linux Commands
1001 Linux Commands
1001 Linux Commands
ﺑﺮﮔﺮﻓﺘﻪ از ﮐﺘﺎب
ﻧﺸﺮ آزاد
2
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 3
ﻧﺸﺮآزاد
ﻧﺎم ﮐﺘﺎب :ﻫﺰاروﯾﮏ دﺳﺘﻮر ﻟﯿﻨﻮﮐﺲ
ﻧﻮﯾﺴﻨﺪه :ﺣﺴﯿﻦ ﺳﯿﻼﻧﯽ
وﯾﺮاﺳﺘﺎر و ﻃﺮاح ﺟﻠﺪ :ا .ﻗﺎﺳﻤﯽ ﻧﮋاد
ﻧﺎﺷﺮ :ﻧﺸﺮ آزاد
ﻧﻮﺑﺖ ﭼﺎپ :اول
ﺗﺎرﯾﺦ ﻧﺸﺮ1397 :
ﺷﻤﺎرﮔﺎن 20000:ﻧﺴﺨﻪ
ﻗﯿﻤﺖ 10000 :ﺗﻮﻣﺎن
ﺷﺎﺑﮏ 975-756-6987-88-3 :
3
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 4
4
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 5
ﻓﻬﺮﺳﺖ ﻣﻄﺎﻟﺐ
ﭘﻮﺳﺘﻪ ﭼﯿﺴﺖ؟ 12 ............................................. ................................ ................................ ................................
ﺗﺮﻣﯿﻨﺎل ﭼﯿﺴﺖ؟ 12 ............................................ ................................ ................................ ................................
12 ..................................................... ................................ ................................ A Typical Modern Terminal
14 ....................................................... ................................ ................................ Modern Power Terminals
ﻣﯿﺎﻧﺒﺮﻫﺎي ﺗﺮﻣﯿﻨﺎل 18 .......................................... ................................ ................................ ................................
ﺑﺎزﮐﺮدن ﯾﮏ ﺗﺮﻣﯿﻨﺎل 18 ....................................... ................................ ................................ ................................
ﺗﺴﺖ ﺻﻔﺤﻪ ﮐﻠﯿﺪ 19 ........................................... ................................ ................................ ................................
دﺳﺘﻮر ﭼﯿﺴﺖ؟ 19 ............................................. ................................ ................................ ................................
اﻧﻮاع ﭘﻮﺳﺘﻪ 19 .................................................. ................................ ................................ ................................
20 .................................... ................................ ................................ ................................ linux system file
ﺳﺎزﻣﺎن ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ 20 ........................................... ................................ ................................ ................................
ﻧﺤﻮه ﺗﻌﯿﯿﻦ ﻧﻮع ﻓﺎﯾﻞ 22 ........................... ................................ ................................ ................................ system
ﺗﺒﺪﯾﻞ Ext2ﺑﻪ23 ...................................... ................................ ................................ ................................ Ext3
ژورﻧﺎﻟﯿﻨﮓ 23 ................................................... ................................ ................................ ................................
23 .................................................. ................................ ................................ ................................ ReiserFS
23 ......................... ................................ ................................ ................................ ................................ XFS
23 ....................................................... ................................ ................................ ................................ Btrfs
ﻓﺮﻣﺖ ﻓﺎﯾﻞ ﺧﻮﺷﻪ اي 23 ....................................... ................................ ................................ ................................
23 ....................................................... ................................ ................................ ................................ swap
24 ........................ ................................ ................................ ................................ ................................ pwd
ﻧﻤﻮدار ﺳﺎﺧﺘﺎر داﯾﺮﮐﺘﻮري 26 ......................... ................................ ................................ ................................ linux
ﺳﺎﺧﺘﺎر داﯾﺮﮐﺘﻮري 26 ................................. ................................ ................................ ................................ linux
ﺑﺮرﺳﯽ ﻓﺎﯾﻞ ﻣﻬﻢ ،ﻣﻮﻗﻌﯿﺖ آﻧﻬﺎ و ﻗﺎﺑﻠﯿﺖ اﺳﺘﻔﺎده آﻧﻬﺎ 28 ................................... ................................ ................................
ﺟﺎﺑﺠﺎﯾﯽ در systemﻓﺎﯾﻞ 30 ................................ ................................ ................................ ................................
ﻧﮕﺎﻫﯽ دﻗﯿﻖ ﺗﺮ ﺑﻪ ﻓﺮﻣﺖ ﻃﻮﻻﻧﯽ 31 .......................... ................................ ................................ ................................
ﻧﮑﺘﻪ32 ......................... ................................ ................................ ................................ ................................ :
ﻣﺸﺎﻫﺪه راﻫﻨﻤﺎي دﺳﺘﻮرات 33 ................................ ................................ ................................ ................................
ﻣﺸﺎﻫﺪه راﻫﻨﻤﺎ 33 .............................................. ................................ ................................ ................................
روش ﺑﺮاي ﯾﺎﻓﺘﻦ ﯾﮏ ﻓﺮﻣﺎن ﺑﺎﯾﻨﺮي و ﺗﻮﺿﯿﺤﺎت در systemﻓﺎﯾﻞ 33 ................................................... ................................
ﯾﺎﻓﺘﻦ دﺳﺘﻮرات ﺟﺪﯾﺪ در 33 .......................... ................................ ................................ ................................ linux
ﻧﻮع ﻓﺮﻣﺎن 35 ................................................... ................................ ................................ ................................
دﺳﺘﻮر 35 ............................................. ................................ ................................ ................................ which
ﯾﺎﻓﺘﻦ ﻣﻮﻗﻌﯿﺖ دﺳﺘﻮرات 35 ........................... ................................ ................................ ................................ linux
دﺳﺘﻮر 36 ................................................ ................................ ................................ ................................ man
ﻣﺸﺎﻫﺪه و وﯾﺮاﯾﺶ ﻓﺎﯾﻞ ﻫﺎ 36 ................................. ................................ ................................ ................................
36 .......................... ................................ ................................ ................................ ................................ cat
دﺳﺘﻮراﻟﻌﻤﻞ Cat Command Basicدر 37 ..................................... ................................ ................................ linux
ﻧﻤﺎﯾﺶ ﺷﻤﺎره ﺧﻂ در ﻓﺎﯾﻞ 37 ................................ ................................ ................................ ................................
ﻧﻤﺎﯾﺶ $در ﭘﺎﯾﺎن ﻓﺎﯾﻞ 38 ................................... ................................ ................................ ................................
ﻧﻤﺎﯾﺶ ﺗﺐ از ﺧﻄﻮط ﺟﺪا ﺷﺪه در ﻓﺎﯾﻞ 38 .................................................. ................................ ................................
.ﻧﻤﺎﯾﺶ ﭼﻨﺪﯾﻦ ﻓﺎﯾﻞ 38 ...................................... ................................ ................................ ................................
اﺳﺘﻔﺎده از ﺧﺮوﺟﯽ اﺳﺘﺎﻧﺪارد ﺑﺎ اﭘﺮاﺗﻮر ﻫﺪاﯾﺘﮕﺮ 38 .......................................... ................................ ................................
ﺿﻤﯿﻤﻪ ﺧﺮوﺟﯽ اﺳﺘﺎﻧﺪارد ﺑﺎ اﭘﺮاﺗﻮر ﻫﺪاﯾﺘﮕﺮ 38 ............................................. ................................ ................................
5
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 6
6
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 7
ﻣﺸﺎﻫﺪه ﺗﻤﺎم ﻓﺎﯾﻞ ﻫﺎ در ﯾﮏ ﭘﻮﺷﻪ از ﺟﻤﻠﻪ ﻓﺎﯾﻞ ﻫﺎي ﻣﺨﻔﯽ 63 .......................... ................................ ................................
ﻧﻤﺎﯾﺸﻬﺎي داﯾﺮﮐﺘﻮري ﺑﻪ ﺟﺎي ﻣﺤﺘﻮا 63 ...................................................... ................................ ................................
ﻧﻤﺎﯾﺶ ﺷﻤﺎره ﻓﻬﺮﺳﺖ ﻓﺎﯾﻠﻬﺎ 64 ............................... ................................ ................................ ................................
ﻓﻬﺮﺳﺖ ﺗﻌﺪاد ﻓﺎﯾﻠﻬﺎ ﻓﻬﺮﺳﺖ 64 ............................... ................................ ................................ ................................
ﻟﯿﺴﺖ ﻓﺎﯾﻞ ﻫﺎ ﺑﺎ اﻧﺪازه ﻫﺎ 65 .................................. ................................ ................................ ................................
ﻣﺮﺗﺐ ﺳﺎزي ﻓﺎﯾﻞ ﻫﺎ ﺑﺎ اﻧﺪازه ﻫﺎ 65 ........................... ................................ ................................ ................................
ﻓﻬﺮﺳﺖ ﻓﺎﯾﻠﻬﺎ ﺑﺪون ﻣﺎﻟﮏ ﯾﺎ ﻣﺎﻟﮏ ﮔﺮوه 66 .................................................. ................................ ................................
ﻟﯿﺴﺖ ﻓﺎﯾﻠﻬﺎ ﺑﺪون ﻣﺎﻟﮏ 66 ................................... ................................ ................................ ................................
ﻓﻬﺮﺳﺖ ﮔﺮوه ﻫﺎي داﯾﺮﮐﺘﻮري ﻓﺎﯾﻞ 67 ....................................................... ................................ ................................
ﻓﻬﺮﺳﺖ ﻓﺎﯾﻠﻬﺎ ﺑﺪون ﺷﻨﺎﺳﻪ 68 ................................ ................................ ................................ ................................
ﻟﯿﺴﺖ ﻓﺎﯾﻞ ﻫﺎ ﺑﺎ ﺷﻨﺎﺳﻪ 68 .................................... ................................ ................................ ................................
69 ............................................. ................................ ................................ ................................ Dmidecode
.1ﻧﺤﻮه درﯾﺎﻓﺖ اﻃﻼﻋﺎت ﺳﺨﺖ اﻓﺰاري در 69 ........................................ ................................ ................................ linux
. 2ﻧﺤﻮه درﯾﺎﻓﺖ اﻧﻮاع70 ............................... ................................ ................................ ................................ DMI
. 3ﻧﺤﻮه درﯾﺎﻓﺖ اﻃﻼﻋﺎت 71 .................................................... ................................ ................................ memory
4ﭼﮕﻮﻧﻪ ﻣﯽ ﺗﻮاﻧﻢ اﻃﻼﻋﺎت BIOSدرﯾﺎﻓﺖ ﮐﻨﻢ؟ 71 ........................................ ................................ ................................
ﺟﻤﻊ آوري اﻃﻼﻋﺎت systemو ﺳﺨﺖ اﻓﺰار در 72 ................................. ................................ ................................ linux
2ﻧﺤﻮه ﻧﻤﺎﯾﺶ اﻃﻼﻋﺎت ﺳﺨﺖ اﻓﺰاري 73 ................................ ................................ ................................ linux system
.3ﻧﺤﻮه ﻧﻤﺎﯾﺶ اﻃﻼﻋﺎت74 .................................................... ................................ ................................ CPU linux
.4ﻧﺤﻮه ﺟﻤﻊ آوري اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﺑﻠﻮك ﻫﺎي 74 ............................... ................................ ................................ linux
5ﻧﺤﻮه ﭼﺎپ USB Controllersاﻃﻼﻋﺎت 75 ............................................. ................................ ................................
. 6ﻧﺤﻮه ﭼﺎپ اﻃﻼﻋﺎت دﺳﺘﮕﺎه ﻫﺎي76 ................................................ ................................ ................................ PCI
. 7ﻧﺤﻮه ﭼﺎپ اﻃﻼﻋﺎت SCSIدﺳﺘﮕﺎه 76 ..................................................... ................................ ................................
. 8ﻧﺤﻮه ﭼﺎپ اﻃﻼﻋﺎت در ﻣﻮرد دﺳﺘﮕﺎه ﻫﺎي77 ................................... ................................ ................................ SATA
ﻫﻨﺪﺳﻪ 77 ....................................................... ................................ ................................ ................................
. 9ﻧﺤﻮه ﭼﺎپ اﻃﻼﻋﺎت systemﻓﺎﯾﻞ 77 ........................................... ................................ ................................ linux
دﺳﺘﻮر 78 ................................................... ................................ ................................ ................................ du
دﺳﺘﻮر ) duاﺳﺘﻔﺎده از دﯾﺴﮏ( دﺳﺘﻮراﻟﻌﻤﻞ ﺑﺮاي ﯾﺎﻓﺘﻦ اﺳﺘﻔﺎده از ﻓﺎﯾﻞ ﻫﺎ و راﻫﻨﻤﺎﻫﺎي دﯾﺴﮏ 78 .....................................................
82 ....................................................... ................................ ................................ ................................ echo
ﻓﺮﻣﺎن84 .................................................. ................................ ................................ ................................ env
ﻧﺤﻮه اﺳﺘﻔﺎده از ﻓﺮﻣﺎن " "findﺑﺮاي ﺟﺴﺘﺠﻮ ﺑﺮاي ﻧﺎم ﻓﺎﯾﻞ ﻫﺎي ﭼﻨﺪﮔﺎﻧﻪ )ﭘﺴﻮﻧﺪ( در 84 .......................... ................................ linux
ﻣﺸﺎﻫﺪه ﻓﺎﯾﻠﻬﺎي ﻓﺎﯾﻞ ﭼﻨﺪﮔﺎﻧﻪ در 85 ................................................ ................................ ................................ linux
دﺳﺘﻮر 86 ................................................. ................................ ................................ ................................ find
ﻧﺤﻮه ﯾﺎﻓﺘﻦ راﻫﻨﻤﺎﻫﺎ و ﻓﺎﯾﻠﻬﺎي ﺑﺎﻻ )ﻓﻀﺎي دﯾﺴﮏ( در 91 .......................... ................................ ................................ linux
ﻧﺤﻮه ﯾﺎﻓﺘﻦ ﺑﺰرﮔﺘﺮﯾﻦ ﻓﺎﯾﻞ ﻫﺎ و راﻫﻨﻤﺎﻫﺎ در 91 ..................................... ................................ ................................ linux
ﯾﺎﻓﺘﻦ ﺑﺰرﮔﺘﺮﯾﻦ داﯾﺮﮐﺘﻮري ﻫﺎ در 91 ................................................. ................................ ................................ linux
findاﻧﺪازه ﻓﺎﯾﻞ ﺑﺎﻻ در 93 ............................ ................................ ................................ ................................ linux
دﺳﺘﻮر 94 ................................................ ................................ ................................ ................................ free
1.ﻧﻤﺎﯾﺶ 94 ......................... ................................ ................................ ................................ system memory
2.ﻧﻤﺎﯾﺶ memoryدر94 ........................ ................................ ................................ ................................ Bytes
ﻧﻤﺎﯾﺶ memoryدر94 ..................................................... ................................ ................................ Kilo Bytes
4.ﻧﻤﺎﯾﺶ memoryدر ﻣﮕﺎﺑﺎﯾﺖ 95 ........................ ................................ ................................ ................................
5.ﻧﻤﺎﯾﺶ memoryدر ﮔﯿﮕﺎﺑﺎﯾﺖ 95 ...................................................... ................................ ................................
6.ﻧﻤﺎﯾﺶ ﮐﻞ ﺧﻂ 95 ......................................... ................................ ................................ ................................
7
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 8
8
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 9
9
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 10
10
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 11
ﺗﻘﺪﯾﻢ ﺑﻪ ﺗﻮ
11
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 12
ﭘﻮﺳﺘﻪ ﭼﯿﺴﺖ؟
ﺑﻪ ﻋﺒﺎرت ﺳﺎده ،ﭘﻮﺳﺘﻪ ﯾﮏ ﺑﺮﻧﺎﻣﻪ اﺳﺖ ﮐﻪ دﺳﺘﻮرات را از ﺻﻔﺤﻪ ﮐﻠﯿﺪ ﻣﯽ ﮔﯿﺮد و آﻧﻬﺎ را ﺑﻪ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻣﯽ دﻫﺪ
ﺗﺎ اﺟﺮا ﺷﻮد .در روزﻫﺎي ﮔﺬﺷ ﺘﻪ ،اﯾﻦ ﺗﻨﻬﺎ راﺑﻂ ﮐﺎرﺑﺮي ﻣﻮﺟﻮد در ﺳﯿﺴﺘﻢ ﯾﻮﻧﯿﮑﺲ ﻣﺎﻧﻨﺪ ﻟﯿﻨﻮﮐﺲ ﺑﻮد .اﻣﺮوزه ﻣﺎ
راﺑﻄﻬﺎي ﮐﺎرﺑﺮي ﮔﺮاﻓﯿﮑﯽ ) (GUIرا ﻋﻼوه ﺑﺮ راﺑﻄﻬﺎي ﺧﻂ ﻓﺮﻣﺎن ) (CLIﻣﺎﻧﻨﺪ ﭘﻮﺳﺘﻪ دارﯾﻢ.
در اﮐﺜﺮ ﺳﯿﺴﺘﻢ ﻫﺎي ﻟﯿﻨﻮﮐﺲ ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﻧﺎم( bashﮐﻪ ﺑﺮاي Bourne Again Sheellﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮد،
ﻧﺴﺨﻪ ﭘﯿﺸﺮﻓﺘﻪ ﯾﻮﻧﯿﮑﺲ ﭘﻮﺳﺘﻪ اﺻﻠﯽ shاﺳﺖ ﮐﻪ ﺗﻮﺳﻂ Steve Bourneﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ( ﺑﻪ ﻋﻨﻮان ﺑﺮﻧﺎﻣﻪ
ﭘﻮﺳﺘﻪ ﻋﻤﻞ ﻣﯽ ﮐﻨﺪ .ﻋﻼوه ﺑﺮ ، bashدﯾﮕﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﭘﻮﺳﺘﻪ وﺟﻮد دارد ﮐﻪ ﻣﯽ ﺗﻮاﻧﻨﺪ در ﯾﮏ ﺳﯿﺴﺘﻢ ﻟﯿﻨﻮﮐﺲ
ﻧﺼﺐ ﺷﻮﻧﺪ .اﯾﻨﻬﺎ ﻋﺒﺎرﺗﻨﺪ ازtcsh ،: kshوzsh.
ﺗﺮﻣﯿﻨﺎل ﭼﯿﺴﺖ؟
اﯾﻦ ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺷﺒﯿﻪ ﺳﺎز ﺗﺮﻣﯿﻨﺎل اﺳﺖ .اﯾﻦ ﯾﮏ ﺑﺮﻧﺎﻣﻪ اﺳﺖ ﮐﻪ ﯾﮏ ﭘﻨﺠﺮه را ﺑﺎز ﻣﯽ ﮐﻨﺪ و ﺑﻪ ﺷﻤﺎ اﺟﺎزه ﻣﯽ دﻫﺪ
ﺑﺎ ﭘﻮﺳﺘﻪ ارﺗﺒﺎط ﺑﺮﻗﺮار ﮐﻨﯿﺪ .ﺗﻌﺪادي از ﺷﺒﯿﻪ ﺳﺎزﻫﺎي ﺗﺮﻣﯿﻨﺎل ﻣﺨﺘﻠﻒ ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ اﺳﺘﻔﺎده ﮐﻨﯿﺪ .اﮐﺜﺮ ﺗﻮزﯾﻌﻬﺎي
ﻟﯿﻨﻮﮐﺲ ﭼﻨﺪﯾﻦ را ﻋﺮﺿﻪ ﻣﯽ ﮐﻨﻨﺪ ،ﻣﺎﻧﻨﺪnxterm . ،kvt ،rxvt ،xterm ،konsole ،: gnome-terminal
xterm
12
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 13
rxvt
13
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 14
terminator
14
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 15
gnome-terminal
Connectbot
15
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 16
Connectbotﯾﮏ ﭘﻮﺳﺘﻪ اﻣﻦ ﺑﺮاي آﻧﺪروﯾﺪ اﺳﺖ .ﺑﺎ اﯾﻦ ﮐﺎر ﻣﯽ ﺗﻮاﻧﯿﻢ ﺑﻪ ﻫﺮ ﺳﯿﺴﺘﻤﯽ ﮐﻪ ﯾﮏ ﺳﺮور SSHرا راه
اﻧﺪازي ﻣﯽ ﮐﻨﯿﻢ وارد ﺷﻮﯾﺪ .ﺑﺮاي ﺳﯿﺴﺘﻢ از راه دورConnectbot ،ﺑﻪ ﻧﻈﺮ ﻣﯽ رﺳﺪ ﯾﮏ ﺗﺮﻣﯿﻨﺎل ﺑﺎ اﺳﺘﻔﺎده از ﻧﻮع
ﺗﺮﻣﯿﻨﺎل Screen GNUاﺳﺖ.
Termux
ﺑﺮﻧﺎﻣﻪ Termuxﺑﺮاي Androidﺑﻪ ﻃﻮر ﻏﯿﺮ ﻣﻨﺘﻈﺮه اي ﺷﮕﻔﺖ اﻧﮕﯿﺰ اﺳﺖ .اﯾﻦ ﻓﺮاﺗـﺮ از ﯾـﮏ SSHاﺳـﺖ؛ اﯾـﻦ
ﺑﺮﻧﺎﻣﻪ ﯾﮏ ﻣﺤﯿﻂ ﭘﻮﺳﺘﻪ ﮐﺎﻣﻞ را در Androidﺑﺪون ﻧﯿﺎز ﺑﻪ رﯾﺸﻪ ﮐﻦ ﮐﺮدن دﺳﺘﮕﺎه ﻓﺮاﻫﻢ ﻣﯽ ﮐﻨﺪ.ﭘـﺲ از ﻧﺼـﺐ،
ﯾﮏ ﺳﯿﺴﺘﻢ ﭘﺎﯾﻪ ﺣﺪاﻗﻞ ﺑﺎ ﭘﻮﺳﺘﻪ ) (bashو ﺑﺴﯿﺎري از اﺑﺰارﻫﺎي راﯾﺞ وﺟﻮد دارد .در اﺑﺘﺪا اﯾﻦ اﺑﺰارﻫﺎي ﻣﻔﯿﺪ ﻫﺴﺘﻨﺪ
ﮐﻪ در busyboxﺳﺎﺧﺘﻪ ﺷﺪه اﻧﺪ
16
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 17
xterm:
xterm on Wikipedia: https://en.wikipedia.org/wiki/Xterm
Homepage for the current maintainer of xterm, Thomas Dickey: http://invisible-
island.net/xterm/
Tektronix 4014:
Tektronix 4014 on Wikipedia: https://en.wikipedia.org/wiki/Tektronix_4010
Some background on the 4014 at Chilton Computing: http://www.chilton-
computing.org.uk/acd/icf/terminals/p005.htm
rxvt:
Home page for rxvt: http://rxvt.sourceforge.net/
urxvt (rxvt-Unicode):
Home page for the rxvt-Unicode project: http://software.schmorp.de/pkg/rxvt-
unicode.html
gnome-terminal:
Help pages for gnome-terminal: https://help.gnome.org/users/gnome-terminal/stable/
konsole:
The Konsole Manual at the KDE Project:
https://docs.kde.org/stable5/en/applications/konsole/index.html
guake:
The home page for the guake project: http://guake-project.org/
The Arch Wiki entry for guake (contains a lot of useful information but some is Arch
Linux specific): https://wiki.archlinux.org/index.php/Guake
terminator:
The home page for the terminator project:
http://gnometerminator.blogspot.com/p/introduction.html
Connectbot:
Connectbot at the Google Play Store:
https://play.google.com/store/apps/details?id=org.connectbot&hl=en
17
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 18
Hacker's Keyboard:
Hacker's Keyboard at the Google Play Store:
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard&hl=
en
Termux:
Termux at the Google Play Store:
https://play.google.com/store/apps/details?id=com.termux&hl=en
ﻣﯿﺎﻧﺒﺮﻫﺎي ﺗﺮﻣﯿﻨﺎل
Shortcut Action
Ctrl-Shift-N New Window
Ctrl-Shift-W Close Window
F11 View terminal full screen
Shift-PgUp Scroll up
Shift-PgDn Scroll down
Shift-Home Scroll to the beginning
Shift-End Scroll to the end
Ctrl-Shift-T New Tab
Ctrl-Shift-Q Close Tab
Ctrl-PgUp Next Tab
Ctrl-PgDn Previous Tab
Alt-n Where n is a number in the range of 1 to 9, go to
ﺑﺎزﮐﺮدن ﯾﮏ ﺗﺮﻣﯿﻨﺎل
از ﻃﺮﯾﻖ ﻟﯿﺴﺖ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﺒﯿﻨﯿﺪ ﮐﻪ آﯾﺎ.ﻣﺪﯾﺮ ﭘﻨﺠﺮه ﺷﻤﺎ اﺣﺘﻤﺎﻻ ﯾﮏ راه ﺑﺮاي راه اﻧﺪازي ﯾﮏ ﺗﺮﻣﯿﻨﺎل از ﻣﻨﻮ دارد
" ﻧﺎمkonsole" ﺑﺮﻧﺎﻣﻪ ﺗﺮﻣﯿﻨﺎل ﺑﻪ ﻧﺎم، ﻫﺴﺘﯿﺪKDE اﮔﺮ ﺷﻤﺎ ﯾﮏ ﮐﺎرﺑﺮ.ﭼﯿﺰي ﺷﺒﯿﻪ ﯾﮏ ﺷﺒﯿﻪ ﺳﺎز ﺗﺮﻣﯿﻨﺎل اﺳﺖ
در ﺣﺎﻟﯽ ﮐﻪ ﺗﻌﺪادي از ﺷﺒﯿﻪ ﺳﺎزﻫﺎي. " ﻧﺎﻣﮕﺬاري ﻣﯽ ﮐﻨﺪgnome-terminal" آن راGnome در،دارد
. آﻧﻬﺎ ﺑﻪ ﯾﮏ ﺟﻠﺴﻪ ﭘﻮﺳﺘﻪ دﺳﺘﺮﺳﯽ دارﻧﺪ. ﻫﻤﻪ آﻧﻬﺎ ﻫﻤﺎن ﮐﺎر را اﻧﺠﺎم ﻣﯽ دﻫﻨﺪ،ﻣﺨﺘﻠﻒ ﺗﺮﻣﯿﻨﺎل وﺟﻮد دارد
18
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 19
دﺳﺘﻮر ﭼﯿﺴﺖ؟
دﺳﺘﻮرات ﻣﯽ ﺗﻮاﻧﺪ ﯾﮑﯽ از 4ﻧﻮع ﻣﺨﺘﻠﻒ ﺑﺎﺷﺪ :
ﯾﮏ ﺑﺮﻧﺎﻣﻪ اﺟﺮاﯾﯽ ،ﻫﻤﺎن ﻓﺎﯾﻠﻬﺎﯾﯽ ﮐﻪ در / usr / binدﯾﺪه اﯾﻢ ،.ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﺑﺎﯾﻨﺮي ﻣﯽ ﺗﻮاﻧﻨﺪ ﻣﺎﻧﻨﺪ .1
ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻧﻮﺷﺘﻪ ﺷﺪه در Cو ، C ++ﯾﺎ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻧﻮﺷﺘﻪ ﺷﺪه در زﺑﺎن ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻣﺎﻧﻨﺪ ﭘﻮﺳﺘﻪ ،ﭘﺮل،
ﭘﺎﯾﺘﻮن ،روﺑﯽ و ﻏﯿﺮه را ﮐﺎﻣﭙﺎﯾﻞ ﮐﻨﻨﺪ .
ﯾﮏ دﺳﺘﻮر درون bashوﺟﻮد دارد. .2
ﺗﺎﺑﻊ :اﯾﻦ اﺳﮑﺮﯾﭙﺖ ﻫﺎي ﭘﻮﺳﺘﻪ ﻣﯿﻨﯿﺎﺗﻮري ﻫﺴﺘﻨﺪ ﮐﻪ در ﻣﺤﯿﻂ ﻗﺮار دارﻧﺪ. . .3
ﻧﺎم ﻣﺴﺘﻌﺎر دﺳﺘﻮراﺗﯽ ﮐﻪ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺧﻮدﺗﺎن را ﺗﻌﺮﯾﻒ ﮐﻨﯿﺪ ،از دﺳﺘﻮرات دﯾﮕﺮ ﺳﺎﺧﺘﻪ ﺷﺪه اﺳﺖ . .4
اﻧﻮاع ﭘﻮﺳﺘﻪ
ﯾﮑﯽ از اﻧﻮاع راﯾﺞ Login shellsﻣﯽ ﺑﺎﺷﺪ .ﭘﻮﺳﺘﻪ ﻫﺎي ﺗﻌﺎﻣﻠﯽ ﭘﻮﺳﺘﻪ ﻫﺎﯾﯽ ﻫﺴﺘﻨﺪ ﮐﻪ دﺳﺘﻮرات را ﻣﯽ ﭘﺬﯾﺮﻧﺪ.
Shellsﻣﯽ ﺗﻮاﻧﺪ ورودي و ﺗﻌﺎﻣﻠﯽ ،ﻏﯿﺮ ورودي و ﻏﯿﺮ ﺗﻌﺎﻣﻠﯽ ،و ﯾﺎ ﻫﺮ ﺗﺮﮐﯿﺒﯽ دﯾﮕﺮ ﺑﺎﺷﺪ.
19
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 20
ﻋﻼوه ﺑﺮ ﻓﺎﯾﻞ ، bashrc.ﭼﻨﺪﯾﻦ اﺳﮑﺮﯾﭙﺖ دﯾﮕﺮ ﻧﯿﺰ وﺟﻮد دارد ﮐﻪ ﺑﻮﺳﯿﻠﻪ ﭘﻮﺳﺘﻪ ﺑﻪ ﻃﻮر ﺧﻮدﮐﺎر ﻫﻨﮕﺎم ورود و ﺑﺎﻻ
آﻣﺪن ﺳﯿﺴﺘﻢ ﯾﺎ ﺧﺮوج از systemﺗﻐﯿﺮات در اﻧﻬﺎ ذﺧﯿﺮه ﻣﯽ ﺷﻮﻧﺪ:
/etc / profile
. / ~bash_profile
. / ~bash_login
. / ~profile
. / ~bash_logout
/etc/bash.bash_logout
ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ ﭘﻮﺳﺘﻪ ﻫﺎي ﻣﺨﺘﻠﻒ ﻧﯿﺰ وﺟﻮد دارد .ﺳﺎﯾﺮ ﻣﻮارد راﯾﺞ ﻋﺒﺎرﺗﻨﺪ از fish ، csh ، zshو ﻏﯿﺮه.
20
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 21
ﯾﮑﯽ از ﺗﻔﺎوت ﻫﺎي ﻣﻬﻢ ﺑﯿﻦ ﺳﺎﯾﺮﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ و ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎي ﻣﺸﺎﺑﻪ ﯾﻮﻧﯿﮑﺲ ﻣﺎﻧﻨﺪ ﻟﯿﻨﻮﮐﺲ اﯾﻦ اﺳﺖ ﮐﻪ
ﻟﯿﻨﻮﮐﺲ ﻣﻔﻬﻮم ﺣﺮوف دراﯾﻮ را اﺳﺘﻔﺎده ﻧﻤﯽ ﮐﻨﺪ .در ﺣﺎﻟﯽ ﮐﻪ ﺣﺮوف دراﯾﻮ ﻓﺎﯾﻞ ﺳﯿﺴﺘﻢ را ﺑﻪ ﯾﮏ ﺳﺮي درﺧﺖ
ﻫﺎي ﻣﺨﺘﻠﻒ ﺗﻘﺴﯿﻢ ﻣﯽ ﮐﻨﺪ )ﯾﮑﯽ ﺑﺮاي ﻫﺮ دراﯾﻮ( ،ﻟﯿﻨﻮﮐﺲ ﻫﻤﯿﺸﻪ ﯾﮏ درﺧﺖ ﺗﻨﻬﺎ دارد .دﺳﺘﮕﺎه ﻫﺎي ﻣﺨﺘﻠﻒ
ذﺧﯿﺮه ﺳﺎزي ﻣﻤﮑﻦ اﺳﺖ ﺷﺎﺧﻪ ﻫﺎي ﻣﺨﺘﻠﻒ درﺧﺖ داﺷﺘﻪ ﺑﺎﺷﻨﺪ ،اﻣﺎ ﻫﻤﯿﺸﻪ ﯾﮏ درﺧﺖ ﺗﻨﻬﺎ وﺟﻮد دارد.
Ext2 -
systemﻓﺎﯾﻞ Ext2در ﺳﺎل 1993ﻣﻌﺮﻓﯽ ﺷﺪ و Ext2ﺗﻮﺳﻂ Remy Cardﺗﻮﺳﻌﻪ داده .1
ﺷﺪ.اﯾﻦ اوﻟﯿﻦ systemﻓﺎﯾﻞ ﭘﯿﺶ ﻓﺮض در ﭼﻨﺪﯾﻦ ﺗﻮزﯾﻊ linuxﺑﻮد ﻣﺎﻧﻨﺪ RedHatو دﺑﯿﺎن.
اﯾﻦ ﺑﺮاي ﻏﻠﺒﻪ ﺑﺮ ﻣﺤﺪودﯾﺖ system Ext fileﺑﻮد. .2
ﺣﺪاﮐﺜﺮ اﻧﺪازه ﻓﺎﯾﻞ 16ﮔﯿﮕﺎﺑﺎﯾﺖ اﺳﺖ .3
اﯾﻦ ﺑﺮاي رﺳﺎﻧﻪ ﻫﺎي ذﺧﯿﺮه ﺳﺎزي ﻣﻌﻤﻮﻟﯽ ﻓﻠﺶ ﻣﺎﻧﻨﺪ دراﯾﻮ USBﻓﻠﺶ ،ﮐﺎرت SDو ﻏﯿﺮه .4
ﻣﯽ ﺷﻮد. اﺳﺘﻔﺎده
Ext3 -
systemﻓﺎﯾﻞ Ext3در ﺳﺎل 2001ﻣﻌﺮﻓﯽ ﺷﺪ و ﻫﻤﯿﻨﻄﻮر در Kernel 2.4.15ﺑﺎ وﯾﮋﮔﯽ .1
journalingﯾﮑﭙﺎرﭼﻪ ﺷﺪه اﺳﺖ ﮐﻪ اﯾﻦ اﻣﺮ ﺑﺮاي ﺑﻬﺒﻮد ﻗﺎﺑﻠﯿﺖ اﻃﻤﯿﻨﺎن و ﺣﺬف ﻧﯿﺎز ﺑﻪ ﺑﺮرﺳﯽ system
ﻓﺎﯾﻞ ﭘﺲ از ﺧﺎﻣﻮش ﺷﺪن اﺳﺖ.
ﺣﺪاﮐﺜﺮ اﻧﺪازه ﻓﺎﯾﻞ 16GB - 2TB . .2
اراﺋﻪ اﻣﮑﺎﻧﺎت ﺑﺮاي ارﺗﻘﺎ از systemﻓﺎﯾﻞ Ext2ﺑﻪ Ext3ﺑﺪون ﻧﯿﺎز ﺑﻪ ﭘﺸﺘﯿﺒﺎن ﮔﯿﺮي و .3
ﺑﺎزﮔﺮداﻧﺪن داده ﻫﺎ.
21
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 22
Ext4 -
،Ext4ﭘﯿﺸﮕﺎم Ext3ﭘﯿﺶ ﺑﯿﻨﯽ ﺷﺪه. .1
در اﮐﺘﺒﺮ Ext4 ،2008ﺑﻪ ﻋﻨﻮان ﮐﺪ ﭘﺎﯾﺪار در Kernel 2.6.28ادﻏﺎم ﺷﺪ ﮐﻪ ﺷﺎﻣﻞ system .2
ﻓﺎﯾﻞ ext4اﺳﺖ.
ﺣﺪاﮐﺜﺮ اﻧﺪازه ﻓﺎﯾﻞ 16GBﺗﺎ TB 16اﺳﺖ. .3
systemﻓﺎﯾﻞ ext4ﮔﺰﯾﻨﻪ اي ﺑﺮاي ﻏﯿﺮﻓﻌﺎل ﮐﺮدن وﯾﮋﮔﯽ journalingرا دارد. .4
وﯾﮋﮔﯽ ﻫﺎي دﯾﮕﺮ ﻣﺎﻧﻨﺪ ﻣﻘﯿﺎس ﭘﺬﯾﺮي زﯾﺮ داﯾﺮﮐﺘﻮري ،اﺧﺘﺼﺎص ﭼﻨﺪ ﺑﻼك ،ﺗﺨﺼﯿﺺ ﺗﺎﺧﯿﺮ ، .5
FSCKﺳﺮﯾﻊ و ﻏﯿﺮه
اﯾﺠﺎد systemﻓﺎﯾﻞExt3
ﯾﺎ
# mkfs.ext3 /dev/ hdXX
-jﮔﺰﯾﻨﻪ ﺑﺮاي journalingاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
اﯾﺠﺎد systemﻓﺎﯾﻞExt4
# mke2fs -t ext4 /dev /hdXX
22
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 23
swap
Swapﺑﺮاي ﺻﻔﺤﺎت memoryدر linuxﻣﺨﺼﻮﺻﺎ در ﺣﯿﻦ ﮐﺎرﺑﺎ ﺳﯿﺴﺘﻢ systemاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.ﻣﺮﺣﻠﻪ
ﻓﻌﻠﯽ systemﺑﻪ Swapزﻣﺎﻧﯽ ﮐﻪ systemﻣﺘﻮﻗﻒ ﺷﺪه ) ( Hibernateدر ﯾﮏ ﻟﺤﻈﻪ ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ.
ﯾﮏ systemﮐﻪ ﻫﺮﮔﺰ ﺑﻪ ﺧﻮاب زﻣﺴﺘﺎﻧﯽ ﻧﻤﯽ رود ،ﻧﯿﺎز ﺑﻪ ﯾﮏ ﻓﻀﺎي swapﺑﺮاﺑﺮ ﺑﺎ اﻧﺪازه RAMدارد.
23
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 24
pwd
از آﻧﺠﺎﯾﯽ ﮐﻪ ﯾﮏ راﺑﻂ ﺧﻂ ﻓﺮﻣﺎن ﻧﻤﯿﺘﻮاﻧﺪ ﺗﺼﺎوﯾﺮ ﮔﺮاﻓﯿﮑﯽ ﺳﺎﺧﺘﺎر ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ را اراﺋﻪ ﮐﻨﺪ ،ﺑﺎﯾﺪ روش دﯾﮕﺮي
ﺑﺮاي ﻧﺸﺎن دادن آن داﺷﺘﻪ ﺑﺎﺷﺪ .درﺧﺖ ﺳﯿﺴﺘﻢ ﻓﺎﯾﻞ را ﺑﻪ ﻋﻨﻮان ﯾﮏ ﭘﯿﭻ و ﺧﻢ در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ و در آن اﯾﺴﺘﺎده
اﯾﺪ .در ﻫﺮ ﻟﺤﻈﻪ اي ﻣﺸﺨﺺ ،ﺷﻤﺎ در ﯾﮏ داﯾﺮﮐﺘﻮري ﻗﺮار ﮔﺮﻓﺘﻪ اﯾﺪ .در داﺧﻞ آن داﯾﺮﮐﺘﻮري ،ﻣﯽ ﺗﻮاﻧﯿﺪ ﻓﺎﯾﻞ ﻫﺎ و
ﻣﺴﯿﺮ آن را ﺑﻪ داﯾﺮﮐﺘﻮري اﺻﻠﯽ ﺧﻮد و ﻣﺴﯿﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﯾﺮ داﯾﺮﮐﺘﻮري داﯾﺮﮐﺘﻮري ﮐﻪ در آﻧﺠﺎ اﯾﺴﺘﺎده اﯾﺪ
ﻣﺸﺎﻫﺪه ﮐﻨﯿﺪ .داﯾﺮﮐﺘﻮري ﮐﻪ در آن اﯾﺴﺘﺎده اﯾﺪ ،داﯾﺮﮐﺘﻮري ﮐﺎر ﻣﯽ ﺷﻮد .ﺑﺮاي ﭘﯿﺪا ﮐﺮدن ﻧﺎم داﯾﺮﮐﺘﻮري ﮐﺎر ،از
دﺳﺘﻮر pwdاﺳﺘﻔﺎده ﮐﻨﯿﺪ.
$ pwd
/home/me
ﺑﺮاي ﻟﯿﺴﺖ ﻓﺎﯾﻞ ﻫﺎ در داﯾﺮﮐﺘﻮري ﮐﺎر ،از دﺳﺘﻮر lsاﺳﺘﻔﺎده ﮐﻨﯿﺪ.
$ ls
Desktop Xrootenv.0 linuxcmd
GNUstep bin nedit.rpm
GUILG00.GZ hitni123.jpg nsma
ﺑﺮاي ﺗﻐﯿﯿﺮ داﯾﺮﮐﺘﻮري ﮐﺎر )ﮐﻪ در آن ﺷﻤﺎ در ﭘﯿﭻ و ﺧﻢ اﯾﺴﺘﺎده( ﺷﻤﺎ از دﺳﺘﻮر cdاﺳﺘﻔﺎده ﻣﯽ ﮐﻨﯿﺪ .ﺑﺮاي اﻧﺠﺎم
اﯾﻦ ﮐﺎرcd ،را ﺗﺎﯾﭗ ﮐﻨﯿﺪ و ﭘﺲ از ﻧﺎم ﻣﺴﯿﺮ داﯾﺮﮐﺘﻮري ﻣﻮرد ﻧﻈﺮ ﮐﺎر ﮐﻨﯿﺪ .ﻧﺎم راه ﻣﺴﯿﺮي اﺳﺖ ﮐﻪ ﺷﻤﺎ در ﻃﻮل
ﺷﺎﺧﻪ ﻫﺎي درﺧﺖ ﻣﯽ ﮔﯿﺮﯾﺪ ﺗﺎ ﺑﻪ داﯾﺮﮐﺘﻮري ﮐﻪ ﻣﯽ ﺧﻮاﻫﯿﺪ دﺳﺘﺮﺳﯽ ﭘﯿﺪا ﮐﻨﯿﺪ .ﭘﺘﺎﻧﺎم ﻫﺎ را ﻣﯽ ﺗﻮان در ﯾﮑﯽ از
دو روش ﻣﺨﺘﻠﻒ ﻣﺸﺨﺺ ﮐﺮد .راه ﺣﻞ ﻫﺎي ﻣﻄﻠﻖ ﯾﺎ ﻧﺎﻣﻬﺎي ﻧﺴﺒﯽ ،ﺑﯿﺎﯾﯿﺪ اﺑﺘﺪا ﺑﺎ ﭘﻬﻨﺎي ﺑﺎﻧﺪ ﻣﻄﻠﻖ ﻧﮕﺎه ﮐﻨﯿﻢ.
24
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 25
ﻧﺎم ﻣﺤﻠﯽ ﻣﻄﻠﻖ ﺑﺎ داﯾﺮﮐﺘﻮري رﯾﺸﻪ ﺷﺮوع ﻣﯽ ﺷﻮد و ﭘﺲ از ﺷﺎﺧﻪ درﺧﺖ ﺗﻮﺳﻂ ﺷﺎﺧﻪ ﺗﺎ ﻣﺴﯿﺮ ﻣﺴﯿﺮ داﯾﺮﮐﺘﻮري
دﻟﺨﻮاه ﯾﺎ ﻓﺎﯾﻞ ﺗﮑﻤﯿﻞ ﻣﯽ ﺷﻮد .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،ﯾﮏ داﯾﺮﮐﺘﻮري در ﺳﯿﺴﺘﻢ ﺷﻤﺎ وﺟﻮد دارد ﮐﻪ اﮐﺜﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﻧﺼﺐ
ﺷﺪه اﻧﺪ .ﻧﺎم ﭘﻮﺷﻪ داﯾﺮﮐﺘﻮري /usr/ binاﺳﺖ .اﯾﻦ ﺑﺪان ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ از داﯾﺮﮐﺘﻮري رﯾﺸﻪ )ﻧﺸﺎن داده ﺷﺪه ﺗﻮﺳﻂ
اﺳﻠﺶ ﺑﺮﺟﺴﺘﻪ در ﻧﺎم راه( ﯾﮏ داﯾﺮﮐﺘﻮري ﺑﻪ ﻧﺎم " "usrوﺟﻮد دارد ﮐﻪ ﺣﺎوي داﯾﺮﮐﺘﻮري ﺑﻪ ﻧﺎم " "binاﺳﺖ.
$ cd /usr/bin
$ pwd
/usr/bin
$ ls
lwp-request
2to3 lwp-rget
2to3-2.6 lxterm
a2p lz
aalib-config lzcat
aconnect lzma
acpi_fakekey lzmadec
acpi_listen lzmainfo
add-apt-repository m17n-db
addpart magnifier
ﻋﻼﻣﺖ " ".ﺑﻪ داﯾﺮﮐﺘﻮري ﮐﺎر ﺧﻮد اﺷﺎره ﻣﯽ ﮐﻨﺪ و ﻋﻼﻣﺖ " "..ﺑﻪ داﯾﺮﮐﺘﻮري اﺻﻠﯽ داﯾﺮﮐﺘﻮري ﮐﺎر ﻣﯽ ﮐﻨﺪ .ﻫﻢ
اﮐﻨﻮن ﺑﻪ ﭼﮕﻮﻧﮕﯽ ﮐﺎرﮐﺮد آن ﻣﯽ ﭘﺮدازﯾﻢ .اﺟﺎزه دﻫﯿﺪ داﯾﺮﮐﺘﻮري ﮐﺎري را دوﺑﺎره ﺑﻪ / usr / binﺗﻐﯿﯿﺮ دﻫﯿﻢ:
$ cd /usr/bin
$ pwd
/usr/bin
$ cd ..
[me@linuxbox usr]$ pwd
/us
25
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 26
/ bin :ﻫﻤﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﺑﺎﯾﻨﺮي اﺟﺮاﯾﯽ )ﻓﺎﯾﻞ( ﻣﻮرد ﻧﯿﺎز در ﻫﻨﮕﺎم ﺑﻮت ﺷﺪن ،ﺗﻌﻤﯿﺮ ،ﻓﺎﯾﻞ ﻫﺎي ﻣﻮرد ﻧﯿﺎز .1
ﺑﺮاي اﺟﺮا ﺑﻪ ﺣﺎﻟﺖ ﺗﮏ ﮐﺎرﺑﺮ و ﺳﺎﯾﺮ دﺳﺘﻮرات ﻣﻬﻢ ﻣﻬﻢ ،ﯾﻌﻨﯽ ،history،wc ،rpm ،tar ،df ،du ،cat ،.و ﻏﯿﺮه
/ boot :ﻓﺎﯾﻠﻬﺎي ﻣﻬﻤﯽ را در ﻃﻮل ﻓﺮاﯾﻨﺪ ﺑﻮت ﺷﺪن ،از ﺟﻤﻠﻪ ﻫﺴﺘﻪ linuxﻧﮕﻬﺪاري ﻣﯽ ﮐﻨﺪ. .2
26
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 27
/ dev :ﺷﺎﻣﻞ ﻓﺎﯾﻞ ﻫﺎي دﺳﺘﮕﺎه ﺑﺮاي ﺗﻤﺎم دﺳﺘﮕﺎه ﻫﺎي ﺳﺨﺖ اﻓﺰاري دﺳﺘﮕﺎه ﻣﺎﻧﻨﺪ cpu ،cdromو .3
ﻏﯿﺮه اﺳﺖ
/ etc :ﺷﺎﻣﻞ ﻓﺎﯾﻞ ﻫﺎي ﭘﯿﮑﺮﺑﻨﺪي ﺑﺮﻧﺎﻣﻪ ،راه اﻧﺪازي ،ﺧﺎﻣﻮش ﮐﺮدن ،ﺷﺮوع ،ﺗﻮﻗﻒ اﺳﮑﺮﯾﭙﺖ .4
/ home :داﯾﺮﮐﺘﻮري ﺧﺎﻧﮕﯽ ﮐﺎرﺑﺮان.ﻫﺮ ﺑﺎر ﮐﻪ ﯾﮏ ﮐﺎرﺑﺮ ﺟﺪﯾﺪ اﯾﺠﺎد ﻣﯽ ﺷﻮد ،ﯾﮏ ﭘﻮﺷﻪ ﺑﻪ ﻧﺎم ﮐﺎرﺑﺮ در .5
ﭘﻮﺷﻪ homeاﯾﺠﺎد ﻣﯽ ﺷﻮد ﮐﻪ ﺣﺎوي داﯾﺮﮐﺘﻮري ﻫﺎي دﯾﮕﺮ ﻣﺎﻧﻨﺪ دﺳﮑﺘﺎپ download ،ﻫﺎ ،اﺳﻨﺎد و ...اﺳﺖ.
/ lib :داﯾﺮﮐﺘﻮري Libﺷﺎﻣﻞ ﻣﺎژول ﻫﺎي ﻫﺴﺘﻪ اي و ﺗﺼﺎوﯾﺮ ﮐﺘﺎب homeاي ﻣﺸﺘﺮك ﻣﻮرد ﻧﯿﺎز ﺑﺮاي راه .6
اﻧﺪازي systemو اﺟﺮاي دﺳﺘﻮرات در systemﻓﺎﯾﻞ rootاﺳﺖ.
/ lost + found :اﯾﻦ داﯾﺮﮐﺘﻮري در ﻫﻨﮕﺎم install linux installﺷﺪه اﺳﺖ ،ﻣﻔﯿﺪ اﺳﺖ ﺑﺮاي ﺑﺎزﯾﺎﺑﯽ .7
ﻓﺎﯾﻠﻬﺎﯾﯽ ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ ﺑﻪ ﻋﻠﺖ ﺧﺎﻣﻮش ﺑﻮدن ﻏﯿﺮ ﻣﻨﺘﻈﺮه ﺧﺮاب ﺷﻮد.
/ media :داﯾﺮﮐﺘﻮري ﻣﻮﻗﺖ ﺑﺮاي دﺳﺘﮕﺎه ﻫﺎي ﻗﺎﺑﻞ ﺟﺎﺑﺠﺎﯾﯽ ﻣﺎﻧﻨﺪ media / cdromاﯾﺠﺎد ﻣﯽ ﺷﻮد. .8
/ mnt :داﯾﺮﮐﺘﻮري ﻣﻮﻗﺖ ﺑﺮاي system installﻓﺎﯾﻞ. .9
/ opt :اﺧﺘﯿﺎري ﺑﻪ ﺻﻮرت اﻧﺘﺨﺎب ﻣﺨﺘﺼﺮ اﺳﺘﺸﺎﻣﻞ ﻧﺮم اﻓﺰار ﻧﺮم اﻓﺰار ﺷﺨﺺ ﺛﺎﻟﺚ ،.VIZﺟﺎواو ﻏﯿﺮه .10
/ proc : systemﻣﺠﺎزي و ﺷﺒﻪ ﻓﺎﯾﻞ ﮐﻪ ﺣﺎوي اﻃﻼﻋﺎﺗﯽ در ﻣﻮرد ﻓﺮآﯾﻨﺪ در ﺣﺎل اﺟﺮا ﺑﺎ ﺧﺎص .11
Process-id aka pidاﺳﺖ.
/ root :اﯾﻦ داﯾﺮﮐﺘﻮري homeﮐﺎرﺑﺮ rootاﺳﺖ و ﻫﺮﮔﺰ ﻧﺒﺎﯾﺪ ﺑﺎ ' '/اﺷﺘﺒﺎه ﮔﺮﻓﺘﻪ ﺷﻮد. .12
/ run :اﯾﻦ داﯾﺮﮐﺘﻮري ﺗﻨﻬﺎ راه ﺣﻞ ﻣﻨﺎﺳﺒﯽ ﺑﺮاي ﻣﺸﮑﻞ زودﻫﻨﮕﺎم دراﯾﻮ اﺳﺖ. .13
/ sbin :ﺣﺎوي ﺑﺮﻧﺎﻣﻪ ﻫﺎي اﺟﺮاﯾﯽ ﺑﺎﯾﻨﺮي ،ﻣﻮرد ﻧﯿﺎز ﺗﻮﺳﻂ ﻣﺪﯾﺮ ، systemﺑﺮاي ﺗﻌﻤﯿﺮ و ﻧﮕﻬﺪاري .viz. .14
iptablesfdiskifconfig swapon restartو ﻏﯿﺮه
/ srv :ﺳﺮوﯾﺲ ﺑﻪ ﺻﻮرت " " srvﻣﺨﻔﻒ اﺳﺖ.اﯾﻦ ﭘﻮﺷﻪ ﺣﺎوي ﻓﺎﯾﻞ ﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺳﺮوﯾﺲ دﻫﻨﺪه و .15
ﺳﺮوﯾﺲ ﺧﺎص اﺳﺖ.
/ sys :ﺗﻮزﯾﻊ ﻫﺎي ﻣﺪرن linuxﺷﺎﻣﻞ ﯾﮏ داﯾﺮﮐﺘﻮري / sysﺑﻪ ﻋﻨﻮان ﯾﮏ systemﻓﺎﯾﻞ ﻣﺠﺎزي اﺳﺖ .16
ﮐﻪ اﺟﺎزه ﻣﯽ دﻫﺪ ﺗﺎ دﺳﺘﮕﺎه ﻫﺎي ﻣﺘﺼﻞ ﺑﻪ systemرا اﺻﻼح ﮐﻨﺪ.
/ tmp :داﯾﺮﮐﺘﻮري ﻣﻮﻗﺖ ،systemﻗﺎﺑﻞ دﺳﺘﺮﺳﯽ ﺗﻮﺳﻂ ﮐﺎرﺑﺮان و root.ﻓﺎﯾﻞ ﻫﺎي ﻣﻮﻗﺖ را ﺑﺮاي ﮐﺎرﺑﺮ .17
و systemذﺧﯿﺮه ﻣﯽ ﮐﻨﺪ ﺗﺎ ﺑﻮت ﺑﻌﺪي.
/ usr :ﺣﺎوي ﻣﺴﺘﻨﺪات ،ﮐﺪ ﻣﻨﺒﻊ ،ﮐﺘﺎب homeﻫﺎ ﺑﺮاي ﺑﺮﻧﺎﻣﻪ ﺳﻄﺢ دوم اﺳﺖ. .18
/ var :ﻣﺨﻔﻒ ﻣﺘﻐﯿﺮ اﺳﺘﺎﻧﺘﻈﺎر ﻣﯽ رود ﮐﻪ ﻣﺤﺘﻮﯾﺎت اﯾﻦ ﻓﺎﯾﻞ رﺷﺪ ﮐﻨﺪ.اﯾﻦ ﭘﻮﺷﻪ ﺣﺎوي ﭘﺮوﻧﺪﻫﻬﺎي .19
ورودي ،ﻗﻔﻞ temp ،اﺳﺖ.
27
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 28
28
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 29
29
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 30
ﺟﺎﺑﺠﺎﯾﯽ در systemﻓﺎﯾﻞ
systemﻫﺎي ﻓﺎﯾﻞ ﻣﺪرن درﺧﺖ ﻫﺎي داﯾﺮﮐﺘﻮري )ﭘﻮﺷﻪ اي( دارﻧﺪ ،ﺟﺎﯾﯽ ﮐﻪ ﯾﮏ داﯾﺮﮐﺘﻮري ﯾﮏ داﯾﺮﮐﺘﻮري root
اﺳﺖ ﮐﻪ ﻣﺎ آن را " "parentﻣﯽ ﻧﺎﻣﯿﻢ system .ﻫﺎي Unixﻓﻘﻂ ﯾﮏ داﯾﺮﮐﺘﻮري rootاي ﺑﺎ ﻧﺎم \ دارﻧﺪ .
دﺳﺘﻮرات ﭘﯿﻤﺎﯾﺶ pwd / ls / cd
ﻫﻨﮕﺎم ﮐﺎر در ﯾﮏ systemﻓﺎﯾﻞ ،ﮐﺎرﺑﺮ ﻫﻤﯿﺸﻪ در داﺧﻞ ﯾﮏ داﯾﺮﮐﺘﻮري ﮐﺎر ﻣﯽ ﮐﻨﺪ ﮐﻪ ﻣﺎ آن را داﯾﺮﮐﺘﻮري ﻓﻌﻠﯽ
ﯾﺎ داﯾﺮﮐﺘﻮري ﮐﺎري ﻣﯽ ﻧﺎﻣﯿﻢ .داﯾﺮﮐﺘﻮري ﺟﺎري ﮐﺎرﺑﺮ را ﺑﺎ pwdﭼﺎپ ﮐﻨﯿﺪ :
$ pwd
/home / hossein
ﻟﯿﺴﺖ ﻣﺤﺘﻮﯾﺎت اﯾﻦ ﭘﻮﺷﻪ )ﻓﺎﯾﻞ ﻫﺎ و /ﯾﺎ داﯾﺮﮐﺘﻮري ﻫﺎي ﻓﺮزﻧﺪ و ﻏﯿﺮه( را ﺑﺎ : ls
$ ls
ﻧﻤﺎﯾﺶ ﻓﺎﯾﻞ ﻫﺎي ") cacheﺑﺎ ﻋﻼﻣﺖ ﻧﻘﻄﻪ"(
$ ls -a
ﻧﻤﺎﯾﺶ ﺟﺰﺋﯿﺎت ﻓﺎﯾﻞ
$ ls -l
ﺗﺮﮐﯿﺐ ﭼﻨﺪﯾﻦ ﺳﻮﯾﭻ
ls –l -a
دﺳﺘﻮر lsﺑﺮاي ﻓﻬﺮﺳﺖ ﻣﺤﺘﻮﯾﺎت ﯾﮏ ﭘﻮﺷﻪ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد .اﺣﺘﻤﺎﻻ ﻓﺮﻣﺎن ﻟﯿﻨﻮﮐﺲ ﻣﻌﻤﻮﻟﯽ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ .
اﯾﻦ را ﻣﯽ ﺗﻮان در ﺗﻌﺪادي از روش ﻫﺎي ﻣﺨﺘﻠﻒ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد .در اﯾﻨﺠﺎ ﭼﻨﺪ ﻧﻤﻮﻧﻪ اﺳﺖ :
ﻧﻤﻮﻧﻪ ﻫﺎﯾﯽ از دﺳﺘﻮرls
ﻧﺘﯿﺠﻪ ﻓﺮﻣﺎﻧﺪﻫﯽ
ﻓﻬﺮﺳﺖ ﻓﺎﯾﻞ ﻫﺎ را در داﯾﺮﮐﺘﻮري ﮐﺎري ﻧﺸﺎن ﻣﯿﺪﻫﺪ ls
ﻓﻬﺮﺳﺖ ﻓﺎﯾﻞ ﻫﺎ را در ﭘﻮﺷﻪ / binﻧﺸﺎن ﻣﯿﺪﻫﺪ ls / bin
ﻓﺎﯾﻠﻬﺎي ﻣﻮﺟﻮد در داﯾﺮﮐﺘﻮري ﮐﺎري را در ﻗﺎﻟﺐ ﻧﻮع دﺳﺘﺮﺳﯽ ﻓﻬﺮﺳﺖ ﻣﯿﮑﻨﺪ ls -l
ﻓﻬﺮﺳﺖ ﻓﺎﯾﻞ ﻫﺎ در ﭘﻮﺷﻪ / binو داﯾﺮﮐﺘﻮري / etcدر ﻓﺮﻣﺖ دﺳﺘﺮﺳﯽ ﻧﺸﺎن ﻣﯿﺪﻫﺪ ls -l / etc / bin
ﻟﯿﺴﺖ ﺗﻤﺎم ﻓﺎﯾﻞ ﻫﺎ )ﺣﺘﯽ آﻧﻬﺎﯾﯽ ﮐﻪ اﺳﺎﻣﯽ ﺑﺎ ﯾﮏ ﺷﺨﺼﯿﺖ دوره اي ﮐﻪ ﻣﻌﻤﻮﻻ ﭘﻨﻬﺎن ls -la ..
ﻫﺴﺘﻨﺪ( در واﻟﺪﯾﻦ داﯾﺮﮐﺘﻮري ﮐﺎري ﻧﺸﺎن داده ﻣﯽ ﺷﻮﻧﺪ
30
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 31
31
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 32
cd A
pwd
A
cd ..
ﺑﺮاي ﺗﻐﯿﯿﺮ ﺑﻪ داﯾﺮﮐﺘﻮري "parentاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد:
cd..
/home / hossein / TEST
ﻧﮑﺘﻪ:
~ cdﮐﺎرﺑﺮ ﺑﻪ ﻣﻌﻨﺎي " cdﺑﻪ داﯾﺮﮐﺘﻮري ﺧﺎﻧﮕﯽ ﮐﺎرﺑﺮ اﺳﺖ
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﭼﻨﺪ ﭘﻮﺷﻪ را ﺑﺎ .. /.. cdﺗﻐﯿﯿﺮ دﻫﯿﺪ
cd ../..
ﺑﺎزﮔﺸﺖ ﺑﻪ آﺧﺮﯾﻦ داﯾﺮﮐﺘﻮري ﺑﺎ -cd
cd -
ﭼﯿﺰﻫﺎﯾﯽ ﮐﻪ ﻣﺎ در ﺧﻂ ﻓﺮﻣﺎن وارد ﻣﯿﮑﻨﯿﻢ ،دﺳﺘﻮرات ﻧﺎﻣﯿﺪه ﻣﯿﺸﻮﻧﺪ و آﻧﻬﺎ ﻫﻤﻮاره ﺑﺮﺧﯽ از ﮐﺪ ﻣﺎﺷﯿﻦ را ﮐﻪ در
ﺟﺎﯾﯽ از راﯾﺎﻧﻪ ﺷﻤﺎ ذﺧﯿﺮه ﺷﺪه اﻧﺪ اﺟﺮا ﻣﯽ ﮐﻨﻨﺪ .ﮔﺎﻫﯽ اوﻗﺎت اﯾﻦ ﮐﺪ دﺳﺘﮕﺎه ﯾﮏ ﻓﺮﻣﺎن linuxداﺧﻠﯽ اﺳﺖ،
ﮔﺎﻫﯽ اوﻗﺎت اﯾﻦ ﺑﺮﻧﺎﻣﻪ اﺳﺖ .،ﮔﺎﻫﯽ اوﻗﺎت ،ﻣﺎ ﻣﯽ ﺧﻮاﻫﯿﻢ ﯾﮏ دﺳﺘﻮر را درﺳﺖ ﺑﻌﺪ از دﯾﮕﺮي اﺟﺮا ﮐﻨﯿﻢ .ﺑﺮاي اﻧﺠﺎم
اﯾﻦ ﮐﺎر ﻣﯽ ﺗﻮاﻧﯿﻢ از ؛ )ﺳﻤﯿﮑﺎﻟﻦ( اﺳﺘﻔﺎده ﮐﻨﯿﻢ.
pwd؛ | hossein @ pc01 | ~ ls
32
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 33
در ﺑﺎﻻ semicolon ،ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ ﻣﻦ ﺑﺮاي اوﻟﯿﻦ ﺑﺎر ) ( lsﻓﻬﺮﺳﺖ ﻣﺤﺘﻮﯾﺎت داﯾﺮﮐﺘﻮري ﮐﺎر را ﻟﯿﺴﺖ
ﮐﺮده و ﺳﭙﺲ ) ( pwdﻣﺤﻞ ﺳﮑﻮﻧﺖ ﺧﻮد را ﭼﺎپ ﻣﯽ ﮐﻨﻢ.
ﻧﮑﺘﻪ .:ﺑﺮاي دﯾﺪن ﮐﺎرﻫﺎي ﭘﺲ زﻣﯿﻨﻪ در ﺣﺎل ﺣﺎﺿﺮ ،از دﺳﺘﻮر ﮐﺎر اﺳﺘﻔﺎده ﮐﻨﯿﺪ :
$ jobs
ﻣﺸﺎﻫﺪه راﻫﻨﻤﺎي دﺳﺘﻮرات
ﺳﻮﯾﭻ h-ﯾﺎ help--ﭘﺲ از ﻫﺮ دﺳﺘﻮر را ﺑﻪ ﯾﮏ ﻣﻨﻮ ﮐﻤﮑﯽ ﺑﺮاي آن دﺳﺘﻮرﺑﺎز ﻣﯿﻨﻤﺎﯾﺪ:
du --help
ﻣﺸﺎﻫﺪه راﻫﻨﻤﺎ
دﺳﺘﻮر aproposﺑﺮاي ﺟﺴﺘﺠﻮ و ﻧﻤﺎﯾﺶ ﺗﻮﺿﯿﺤﺎت دﺳﺘﻮر اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ apropos adduser
روش ﺑﺮاي ﯾﺎﻓﺘﻦ ﯾﮏ ﻓﺮﻣﺎن ﺑﺎﯾﻨﺮي و ﺗﻮﺿﯿﺤﺎت در systemﻓﺎﯾﻞ
داﻧﺴﺘﻦ ﺟﺰﺋﯿﺎت دﺳﺘﻮرات linuxﻧﻪ ﺗﻨﻬﺎ ﺑﻪ ﮐﺎرﺑﺮ linuxﮐﻤﮏ ﻣﯽ ﮐﻨﺪ ﺗﺎ دﺳﺘﻮرات ﻣﺘﻌﺪد را ﻣﺪﯾﺮﯾﺖ ﮐﻨﺪ ،ﺑﻠﮑﻪ
ﮐﺎرﺑﺮ را ﻧﯿﺰ ﻗﺎدر ﻣﯽﺳﺎزد ﮐﻪ ﻋﻤﻠﯿﺎت ﻣﺮﺑﻮط ﺑﻪ systemرا از آﻧﻬﺎ ﺑﺮاي اﺳﺘﻔﺎده از ﺧﻂ ﻓﺮﻣﺎن ﯾﺎ ﯾﮏ اﺳﮑﺮﯾﭙﺖ
اﺳﺘﻔﺎده ﮐﻨﺪ .ﺑﺮاي ﮐﺸﻒ دﺳﺘﻮرات ﺟﺪﯾﺪ ﺑﺮ روي systemﺷﻤﺎ ،ﺑﻪ ﺗﻤﺎم داﯾﺮﮐﺘﻮري ﻫﺎ در ﻣﺘﻐﯿﺮ ﻣﺤﯿﻄﯽ PATH
ﻧﮕﺎه ﮐﻨﯿﺪ.اﯾﻦ ﻓﻬﺮﺳﺖ ﺗﻤﺎم دﺳﺘﻮرات /ﺑﺮﻧﺎﻣﻪ ﻫﺎي installﺷﺪه در systemرا ذﺧﯿﺮه ﻣﯽ ﮐﻨﺪ .ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﯾﮏ
ﻧﺎم ﻓﺮﻣﺎن ﺟﺎﻟﺐ ﭘﯿﺪا ﮐﺮدﯾﺪ ،ﻗﺒﻞ از اﯾﻨﮑﻪ ﺑﻪ ﺧﻮاﻧﺪن ﺑﯿﺸﺘﺮ در ﻣﻮرد آن اﺣﺘﻤﺎﻻ در ﺻﻔﺤﻪ manﺑﭙﺮدازﯾﺪ ،ﺳﻌﯽ
ﮐﻨﯿﺪ اﻃﻼﻋﺎت ﺟﺰﺋﯽ درﺑﺎره آن را ﺑﻪ ﺻﻮرت زﯾﺮ ﺟﻤﻊ آوري ﮐﻨﯿﺪ.
33
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 34
اﮔﺮ ﺗﻮﺿﯿﺤﺎت ﺑﯿﺶ از ﺣﺪ ﻃﻮﻻﻧﯽ ﺑﺎﺷﺪ ﺑﺮﺧﯽ از ﻗﻄﻌﺎت ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض ﻣﺮﺗﺐ ﺷﺪه اﻧﺪ ،از ﭘﺮﭼﻢ -lﺑﺮاي ﻧﺸﺎن
دادن ﺷﺮح ﮐﺎﻣﻞ اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
$ whatis fswatch
$ whatis -l fswatch
دﺳﺘﻮر
ﺟﺴﺘﺠﻮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻧﺎﻣﻬﺎي ﺻﻔﺤﻪ ﮐﺘﺎﺑﭽﻪ راﻫﻨﻤﺎي ﮐﺎرﺑﺮ و ﺗﻮﺻﯿﻒ ﮐﻠﻤﺎت ﮐﻠﯿﺪي )در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه ﺑﻪ ﺻﻮرت
ﺧﻄﯽ ﮐﻪ ﻧﺎم ﻓﺮﻣﺎن اﺳﺖ( اراﺋﻪ ﺷﺪه اﺳﺖ.
ﮔﺰﯾﻨﻪ -lﻧﺸﺎﻧﮕﺮ ﺗﻮﺻﯿﻒ رﻗﺎﺑﺖ را ﻧﺸﺎن ﻣﯽ دﻫﺪ.
$ apropos fswatch
$ apropos -l fswatch
34
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 35
ﻧﻮع ﻓﺮﻣﺎن
دﺳﺘﻮر typeﺑﻪ ﺷﻤﺎ ﻣﯽ ﮔﻮﯾﺪ ﮐﻪ ﻧﺎم ﮐﺎﻣﻞ ﯾﮏ ﻓﺮﻣﺎن داده ﺷﺪه ﭼﯿﺴﺖ؟
ﺷﻞ ﺳﺎﺧﺘﻪ ﺷﺪه .1
ﮐﻠﻤﻪ ﮐﻠﯿﺪي ﺷﻞ .2
ﻧﺎم ﻣﺴﺘﻌﺎر .3
ﺑﺮاي ﻣﺸﺎﻫﺪه ﺗﻤﺎم ﻧﺎم ﻫﺎي ﻣﺴﺘﻌﺎر اﯾﺠﺎد ﺷﺪه در systemﺧﻮد از دﺳﺘﻮر ﻧﺎم ﻣﺴﺘﻌﺎر اﺳﺘﻔﺎده ﮐﻨﯿﺪ:
35
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 36
دﺳﺘﻮر man
دﺳﺘﻮر manﻗﺒﻞ از ﻫﺮ دﺳﺘﻮر manualآن را ﻧﺸﺎن ﻣﯿﺪﻫﺪ.
man ls
ﻣﺸﺎﻫﺪه و وﯾﺮاﯾﺶ ﻓﺎﯾﻞ ﻫﺎ
head / tail / cat / less
headﭼﻨﺪ ﺧﻂ اول ﯾﮏ ﻓﺎﯾﻞ را ﻧﺸﺎن ﻣﯿﺪﻫﺪ .ﺳﻮﯾﭻ n-ﺗﻌﺪاد ﺧﻄﻮط را ﻧﺸﺎن ﻣﯽ دﻫﺪ )ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض 10
اﺳﺖ( ﻣﺸﺨﺺ ﻣﯽ ﮐﻨﺪ:
# prints the first three lines
12:05 | hossein@pc01 ~ | head-n 3 c
this
file
has
tail
ﭼﻨﺪ ﺧﻂ آﺧﺮ ﯾﮏ ﻓﺎﯾﻞ را ﻧﻤﺎﯾﺶ ﻣﯽ دﻫﺪ.
# prints the end of the file, beginning with the 4th line
12:05 | hossein@pc01 ~ | tail-n +4 c
exactly
six
lines
cat
ﻣﺤﺘﻮاي ﻓﺎﯾﻞ را ﺑﻪ ﺧﺮوﺟﯽ )ﻣﻌﻤﻮﻻ ﺗﺮﻣﯿﻨﺎل( ﻣﯽ ﻓﺮﺳﺘﺪ .ﻣﯽ ﺗﻮاﻧﺪ ﻓﻘﻂ ﺑﺎ ﯾﮏ ﻓﺎﯾﻞ ﯾﺎ ﭼﻨﺪﯾﻦ ﻓﺎﯾﻞ اﺳﺘﻔﺎده ﺷﻮد و
اﻏﻠﺐ ﺑﻪ ﺳﺮﻋﺖ آﻧﻬﺎ را ﻧﺸﺎن ﻣﯽ دﻫﺪ
12:05 | hossein@pc01 ~ | cat a
file a
36
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 37
37
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 38
38
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 39
39
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 40
ﻣﺠﻮزﻫﺎ
ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎي ﻣﺸﺎﺑﻪ ﯾﻮﻧﯿﮑﺲ ﻣﺎﻧﻨﺪ ﻟﯿﻨﻮﮐﺲ ﺑﺎ ﺳﺎﯾﺮ ﺳﯿﺴﺘﻢ ﻫﺎي ﮐﺎﻣﭙﯿﻮﺗﺮي ﻣﺘﻔﺎوت اﺳﺖ ،زﯾﺮا آﻧﻬﺎ ﻧﻪ ﺗﻨﻬﺎ
ﭼﻨﺪ وﻇﯿﻔﻪ ﺑﻠﮑﻪ ﭼﻨﺪ ﮐﺎرﺑﺮه ﻧﯿﺰ ﻫﺴﺘﻨﺪ .اﯾﻦ ﺑﺪان ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ ﺑﯿﺶ از ﯾﮏ ﮐﺎرﺑﺮ ﻣﯿﺘﻮاﻧﺪ ﻫﻤﺰﻣﺎن ﯾﮏ ﮐﺎﻣﭙﯿﻮﺗﺮ
را اداره ﮐﻨﺪ .در ﺣﺎﻟﯽ ﮐﻪ ﮐﺎﻣﭙﯿﻮﺗﺮ ﺷﻤﺎ ﺗﻨﻬﺎ داراي ﯾﮏ ﺻﻔﺤﻪ ﮐﻠﯿﺪ و ﻣﺎﻧﯿﺘﻮر اﺳﺖ ،ﻫﻨﻮز ﻫﻢ ﻣﯽ ﺗﻮاﻧﺪ ﺗﻮﺳﻂ ﺑﯿﺶ
از ﯾﮏ ﮐﺎرﺑﺮ اﺳﺘﻔﺎده ﺷﻮد .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،اﮔﺮ راﯾﺎﻧﻪ ﺷﻤﺎ ﺑﻪ ﯾﮏ ﺷﺒﮑﻪ ﯾﺎ اﯾﻨﺘﺮﻧﺖ ﻣﺘﺼﻞ ﺷﻮد ،ﮐﺎرﺑﺮان از راه دور ﻣﯽ
ﺗﻮاﻧﻨﺪ از ﻃﺮﯾﻖ ( sshﭘﻮﺳﺘﻪ اﻣﻦ( وارد ﺳﯿﺴﺘﻢ ﺷﻮﯾﺪ و ﮐﺎﻣﭙﯿﻮﺗﺮ را اداره ﮐﻨﯿﺪ .در واﻗﻊ ،ﮐﺎرﺑﺮان از راه دور ﻣﯽ ﺗﻮاﻧﻨﺪ
ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﮔﺮاﻓﯿﮑﯽ را اﺟﺮا ﮐﻨﻨﺪ و ﺧﺮوﺟﯽ ﻧﻤﺎﯾﺶ داده ﺷﺪه در ﯾﮏ ﮐﺎﻣﭙﯿﻮﺗﺮ از راه دور .ﺳﯿﺴﺘﻢ X Windowاز
اﯾﻦ ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﮐﻨﺪ .
ﺑﺮاي اﯾﺠﺎد اﯾﻦ ﻋﻤﻠﯿﺎت ،ﯾﮏ روش ﺑﺮاي ﺣﻔﺎﻇﺖ از ﮐﺎرﺑﺮان از ﯾﮑﺪﯾﮕﺮ ﻃﺮاﺣﯽ ﺷﺪه اﺳﺖ.
ﻓﺮﻣﺎنchmod
دﺳﺘﻮر chmodﺑﺮاي ﺗﻐﯿﯿﺮ ﻣﺠﻮز ﯾﮏ ﻓﺎﯾﻞ ﯾﺎ داﯾﺮﮐﺘﻮري اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد .ﺑﺮاي اﺳﺘﻔﺎده از آن ،ﺗﻨﻈﯿﻤﺎت ﻣﺠﺎز
ﻣﻮرد ﻧﻈﺮ و ﻓﺎﯾﻞ ﯾﺎ ﻓﺎﯾﻞ ﻫﺎﯾﯽ را ﮐﻪ ﻣﯽ ﺧﻮاﻫﯿﺪ ﺗﻐﯿﯿﺮ دﻫﯿﺪ را ﺗﻌﯿﯿﻦ ﻣﯽ ﮐﻨﯿﺪ .دو راه ﺑﺮاي ﻣﺸﺨﺺ ﮐﺮدن ﻣﺠﻮز
وﺟﻮد دارد .از ﺗﻨﻈﯿﻤﺎت ﻣﺠﻮز ﺑﻪ ﻋﻨﻮان ﯾﮏ ﺳﺮي از ﺑﯿﺖ ﻫﺎ )ﮐﻪ ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎ در ﻣﻮرد آﻧﻬﺎ ﻓﮑﺮ ﻣﯽ ﮐﻨﻨﺪ( آﺳﺎن اﺳﺖ .
در اﯾﻨﺠﺎ ﻣﺸﺨﺺ اﺳﺖ ﮐﻪ ﭼﮕﻮﻧﻪ ﮐﺎر ﻣﯽ ﮐﻨﺪ :
rwx rwx = 111 111 111
rw- rw- rw- = 110 110 110
rwx --- --- = 111 000 000
40
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 41
ﯾﺎ
= 7در دودوﯾﯽ rwx = 111
= 6در دودوﯾﯽ rw- = 110
= 5در دودوﯾﯽ rx = 101
= 4در دودوﯾﯽ r -- = 100
در اﯾﻨﺠﺎ ﯾﮏ ﺟﺪول اﻋﺪاد اﺳﺖ ﮐﻪ ﺗﻤﺎم ﺗﻨﻈﯿﻤﺎت راﯾﺞ را ﭘﻮﺷﺶ ﻣﯽ دﻫﺪ .
ﻣﻘﺪار ﺗﻮﺿﯿﺢ
)(rwxrwxrwxﻫﯿﭻ ﻣﺤﺪودﯾﺘﯽ در ﻣﺠﻮزﻫﺎ وﺟﻮد ﻧﺪارد .ﻫﺮ ﮐﺴﯽ ﻣﯽ ﺗﻮاﻧﺪ ﮐﺎري اﻧﺠﺎم دﻫﺪ .ﺑﻪ ﻃﻮر ﮐﻠﯽ ﯾﮏ
777
ﺗﻨﻈﯿﻢ ﻣﻄﻠﻮب ﻧﯿﺴﺖ
)(rwxr-xr-xﺻﺎﺣﺐ ﭘﺮوﻧﺪه ﻣﻤﮑﻦ اﺳﺖ ﻓﺎﯾﻞ را ﺑﺨﻮاﻧﺪ ،ﻧﻮﺷﺖ و اﺟﺮا ﮐﻨﺪ .ﻫﻤﻪ دﯾﮕﺮان ﻣﻤﮑﻦ اﺳﺖ ﻓﺎﯾﻞ را
755
ﺑﺨﻮاﻧﻨﺪ و اﺟﺮا ﮐﻨﻨﺪ .اﯾﻦ ﺗﻨﻈﯿﻢ راﯾﺞ ﺑﺮاي ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ اﺳﺖ ﮐﻪ ﺗﻮﺳﻂ ﻫﻤﻪ ﮐﺎرﺑﺮان ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿﺮد.
(rwxﺻﺎﺣﺐ ﭘﺮوﻧﺪه ﻣﻤﮑﻦ اﺳﺖ ﻓﺎﯾﻞ را ﺑﺨﻮاﻧﺪ ،ﻧﻮﺷﺘﻦ و اﺟﺮا ﮐﻨﺪ .ﻫﯿﭻ ﮐﺲ ﻫﯿﭻ ﺣﻘﻮق ﻧﺪارد )-- -- --
700
اﯾﻦ ﺗﻨﻈﯿﻢ ﺑﺮاي ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﻣﻔﯿﺪ اﺳﺖ ﮐﻪ ﺗﻨﻬﺎ ﻣﺎﻟﮏ ﻣﯽ ﺗﻮاﻧﺪ از آن اﺳﺘﻔﺎده ﮐﻨﺪ و ﺑﺎﯾﺪ از دﯾﮕﺮان ﺧﺼﻮﺻﯽ ﺑﺎﺷﺪ.
)(rw-rw-rw-ﻫﻤﻪ ﮐﺎرﺑﺮان ﻣﻤﮑﻦ اﺳﺖ ﻓﺎﯾﻞ را ﺑﺨﻮاﻧﻨﺪ و ﺑﻨﻮﯾﺴﻨﺪ. 666
)(rw-r-r --ﺻﺎﺣﺐ ﻣﻤﮑﻦ اﺳﺖ ﻓﺎﯾﻞ را ﺑﺨﻮاﻧﺪ و ﻧﻮﺷﺖ ،در ﺣﺎﻟﯽ ﮐﻪ دﯾﮕﺮان ﻓﻘﻂ ﻓﺎﯾﻞ را ﻣﯽ ﺧﻮاﻧﻨﺪ .ﯾﮏ
644
ﺗﻨﻈﯿﻢ راﯾﺞ ﺑﺮاي ﻓﺎﯾﻞ ﻫﺎي داده اي ﮐﻪ ﻫﻤﻪ ﻣﯽ ﺗﻮاﻧﻨﺪ ﺑﺨﻮاﻧﻨﺪ ،اﻣﺎ ﺗﻨﻬﺎ ﻣﺎﻟﮏ ﻣﻤﮑﻦ اﺳﺖ ﺗﻐﯿﯿﺮ ﮐﻨﺪ.
(rwﻣﺎﻟﮏ ﻣﻤﮑﻦ اﺳﺖ ﻓﺎﯾﻞ را ﺑﺨﻮاﻧﺪ و ﻧﻮﺷﺖ .ﻫﻤﻪ دﯾﮕﺮان ﺣﻘﻮق ﻧﺪارﻧﺪ .ﯾﮏ ﺗﻨﻈﯿﻢ راﯾﺞ ﺑﺮاي )-- -- ---
600
ﻓﺎﯾﻠﻬﺎي داده اي ﮐﻪ ﻣﺎﻟﮏ ﻣﯽ ﺧﻮاﻫﺪ ﺧﺼﻮﺻﯽ ﻧﮕﻪ دارد.
ﻣﺠﻮزﻫﺎي داﯾﺮﮐﺘﻮري
دﺳﺘﻮر chmodﻫﻤﭽﻨﯿﻦ ﻣﯽ ﺗﻮاﻧﺪ ﺑﺮاي ﮐﻨﺘﺮل ﻣﺠﻮزﻫﺎي دﺳﺘﺮﺳﯽ ﺑﺮاي داﯾﺮﮐﺘﻮري ﻫﺎ اﺳﺘﻔﺎده ﺷﻮد ،.اﻣﺎ ﻣﻌﻨﺎي
وﯾﮋﮔﯽ ﻫﺎيw ، rو xﻣﺘﻔﺎوت اﺳﺖ :
R -اﺟﺎزه ﻣﯽ دﻫﺪ ﮐﻪ ﻣﺤﺘﻮﯾﺎت داﯾﺮﮐﺘﻮري در ﺻﻮرﺗﯽ ﮐﻪ ﺻﻔﺖ xﻧﯿﺰ ﺗﻨﻈﯿﻢ ﺷﺪه ﺑﺎﺷﺪ ﻓﻬﺮﺳﺖ ﺷﻮد .
W -اﺟﺎزه ﻣﯽ دﻫﺪ ﺗﺎ ﻓﺎﯾﻞ ﻫﺎ درون داﯾﺮﮐﺘﻮري اﯾﺠﺎد ،ﺣﺬف و ﯾﺎ ﺗﻐﯿﯿﺮ ﻧﺎم داده ﺷﻮﻧﺪ ،اﮔﺮ وﯾﮋﮔﯽ xﻧﯿﺰ ﺗﻨﻈﯿﻢ
ﺷﻮد .
x -ﺑﻪ ﯾﮏ داﯾﺮﮐﺘﻮري وارد ﻣﯽ ﺷﻮد.
41
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 42
در اﯾﻨﺠﺎ ﺑﺮﺧﯽ از ﺗﻨﻈﯿﻤﺎت ﻣﻔﯿﺪ ﺑﺮاي داﯾﺮﮐﺘﻮري ﻫﺎ وﺟﻮد دارد :
ﻣﻘﺪار ﺗﻮﺿﯿﺢ
ﻫﺮ ﮐﺲ ﻣﯽ ﺗﻮاﻧﺪ ﻓﺎﯾﻞ ﻫﺎ را ﻟﯿﺴﺖ ﮐﻨﺪ ،ﻓﺎﯾﻞ .ﻫﯿﭻ ﻣﺤﺪودﯾﺘﯽ در ﻣﺠﻮزﻫﺎ وﺟﻮد ﻧﺪارد )(rwxrwxrwx
777ﺑﻪ ﻃﻮر ﮐﻠﯽ ﯾﮏ ﻣﺤﯿﻂ ﺧﻮب .ﻫﺎي ﺟﺪﯾﺪ را در داﯾﺮﮐﺘﻮري اﯾﺠﺎد ﮐﻨﺪ و ﻓﺎﯾﻞ ﻫﺎ را در داﯾﺮﮐﺘﻮري ﺣﺬف ﮐﻨﺪ
ﻧﯿﺴﺖ
ﻫﻤﻪ دﯾﮕﺮان ﻣﻤﮑﻦ اﺳﺖ داﯾﺮﮐﺘﻮري را ﻓﻬﺮﺳﺖ .ﻣﺎﻟﮏ ﭘﻮﺷﻪ داراي دﺳﺘﺮﺳﯽ ﮐﺎﻣﻞ اﺳﺖ )(rwxr-xr-x
755اﯾﻦ ﺗﻨﻈﯿﻢ ﺑﺮاي داﯾﺮﮐﺘﻮري ﻫﺎﯾﯽ اﺳﺖ ﮐﻪ ﻣﯽ ﺧﻮاﻫﯿﺪ .ﮐﻨﻨﺪ ،اﻣﺎ ﻧﻤﯽ ﺗﻮاﻧﻨﺪ ﻓﺎﯾﻞ ﻫﺎ را اﯾﺠﺎد ﯾﺎ ﺣﺬف ﮐﻨﻨﺪ
.ﺑﺎ ﺳﺎﯾﺮ ﮐﺎرﺑﺮان ﺑﻪ اﺷﺘﺮاك ﺑﮕﺬارﯾﺪ ،راﯾﺞ اﺳﺖ
(rwx ﻫﯿﭻ ﮐﺲ ﻫﯿﭻ ﺣﻘﻮق ﻧﺪارد اﯾﻦ .ﻣﺎﻟﮏ داﯾﺮﮐﺘﻮري داراي دﺳﺘﺮﺳﯽ ﮐﺎﻣﻞ اﺳﺖ )-- -- --
700ﺗﻨﻈﯿﻤﺎت ﺑﺮاي داﯾﺮﮐﺘﻮري ﻫﺎﯾﯽ ﻣﻔﯿﺪ اﺳﺖ ﮐﻪ ﻓﻘﻂ ﻣﺎﻟﮏ ﻣﯽ ﺗﻮاﻧﺪ اﺳﺘﻔﺎده ﮐﻨﺪ و ﺑﺎﯾﺪ از دﯾﮕﺮان ﺧﺼﻮﺻﯽ
.ﻧﮕﻬﺪاري ﺷﻮد
دﺳﺘﻮر chmodﺑﺮاي ﺗﻐﯿﯿﺮ /ﺑﻪ روز رﺳﺎﻧﯽ ﻣﺠﻮزﻫﺎي دﺳﺘﺮﺳﯽ ﻓﺎﯾﻞ ﻣﺎﻧﻨﺪ اﯾﻦ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ chmod + x sysinfo.sh
دﺳﺘﻮر chown
chown commandﺗﻐﯿﯿﺮات /ﺑﻪ روز رﺳﺎﻧﯽ ﮐﺎرﺑﺮ و ﮔﺮوه ﻣﺎﻟﮑﯿﺖ ﯾﮏ ﻓﺎﯾﻞ /داﯾﺮﮐﺘﻮري ﻣﺎﻧﻨﺪ اﯾﻦ.
$ chmod -R / var / www / html
42
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 43
ﻣﺪﯾﺮﯾﺖ ﮔﺮوه
ﻫﺮ ﺑﺎر ﮐﻪ ﯾﮏ ﺣﺴﺎب ﮐﺎرﺑﺮي ﺟﺪﯾﺪ ﺑﻪ systemاﻓﺰوده ﻣﯽ ﺷﻮد ،ﮔﺮوﻫﯽ ﺑﺎ ﻫﻤﯿﻦ ﻧﺎم ﺑﺎ ﻧﺎم ﮐﺎرﺑﺮي ﺑﻪ ﻋﻨﻮان ﺗﻨﻬﺎ
ﻋﻀﻮ آن اﯾﺠﺎد ﻣﯽ ﺷﻮد.دﯾﮕﺮ ﮐﺎرﺑﺮان ﻣﯽ ﺗﻮاﻧﻨﺪ ﺑﻌﺪا ﺑﻪ ﮔﺮوه اﺿﺎﻓﻪ ﺷﻮﻧﺪ.ﯾﮑﯽ از اﻫﺪاف ﮔﺮوه ﻫﺎ اﯾﻦ اﺳﺖ ﮐﻪ ﮐﻨﺘﺮل
دﺳﺘﺮﺳﯽ ﺳﺎده ﺑﻪ ﻓﺎﯾﻞ ﻫﺎ و ﺳﺎﯾﺮ ﻣﻨﺎﺑﻊ systemرا ﺑﺎ ﺗﻨﻈﯿﻢ ﻣﺠﻮز ﻫﺎي ﻣﻨﺎﺳﺐ ﺑﺮ روي اﯾﻦ ﻣﻨﺎﺑﻊ اﻧﺠﺎم دﻫﯿﺪ.
دﺳﺘﻮراﻟﻌﻤﻞpasswd
ﺑﻨﺎﺑﺮاﯾﻦ ،ﻫﺮ ﮐﺎرﺑﺮ ﺑﺎﯾﺪ اﺟﺎزه اﺟﺮاي / bin / passwdداﺷﺘﻪ ﺑﺎﺷﺪ ،اﻣﺎ ﺗﻨﻬﺎ rootﻗﺎدر ﺑﻪ ﻣﺸﺨﺺ ﮐﺮدن ﯾﮏ
ﺣﺴﺎب ﮐﺎرﺑﺮي ﺧﻮاﻫﺪ ﺑﻮد.ﮐﺎرﺑﺮان دﯾﮕﺮ ﻓﻘﻂ ﻣﯽ ﺗﻮاﻧﻨﺪ رﻣﺰ ﻋﺒﻮر ﻣﺮﺑﻮﻃﻪ ﺧﻮد را ﺗﻐﯿﯿﺮ دﻫﻨﺪ.
ﺑﺮاي ﺗﻨﻈﯿﻢ ،setgidﺷﻤﺎره 2را ﺑﻪ ﻣﺠﻮزﻫﺎي اﺳﺎﺳﯽ ﻓﻌﻠﯽ )ﯾﺎ ﻣﻮرد ﻧﻈﺮ( اﺿﺎﻓﻪ ﮐﻨﯿﺪ.
]داﯾﺮﮐﺘﻮري[ # chmod 2755
43
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 44
ﺑﺮاي ﺗﻨﻈﯿﻢ ﺑﯿﺖ ﭼﺴﺒﻨﺪه در ﻓﺮم ﻫﺸﺘﻞ ،ﺷﻤﺎره 1را ﺑﻪ ﻣﺠﻮزﻫﺎي اﺳﺎﺳﯽ ﻓﻌﻠﯽ )ﯾﺎ ﻣﻮرد ﻧﻈﺮ( اﺿﺎﻓﻪ ﮐﻨﯿﺪ.
]داﯾﺮﮐﺘﻮري[ # chmod 1755
ﺑﺪون ﺑﯿﺖ ﭼﺴﺒﻨﺪه ،ﻫﺮ ﮐﺴﯽ ﮐﻪ ﺑﺘﻮاﻧﺪ در داﯾﺮﮐﺘﻮري ﺑﻨﻮﯾﺴﺪ ﻣﯿﺘﻮاﻧﺪ ﻓﺎﯾﻠﻬﺎ را ﺣﺬف ﯾﺎ ﺗﻐﯿﯿﺮ دﻫﺪ.ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ،
ﺑﯿﺖ ﭼﺴﺒﻨﺪه ﺑﻪ ﻃﻮر ﻣﻌﻤﻮل در داﯾﺮﮐﺘﻮرﯾﻬﺎ ﻣﺎﻧﻨﺪ / tmpﯾﺎﻓﺖ ﻣﯽ ﺷﻮد ﮐﻪ ﻗﺎﺑﻞ ﻧﻮﺷﺘﻦ در ﺟﻬﺎن ﻫﺴﺘﻨﺪ.
44
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 45
45
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 46
ﺑﺮاي دﺳﺘﺮﺳﯽ ﺑﻪ ، sudoﻣﺪﯾﺮ systemﺑﺎﯾﺪ ﻓﺎﯾﻞ / etc / sudoersرا وﯾﺮاﯾﺶ ﮐﻨﺪ.ﺗﻮﺻﯿﻪ ﻣﯽ ﺷﻮد ﮐﻪ اﯾﻦ ﻓﺎﯾﻞ
ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر visudoﺑﻪ ﺟﺎي ﺑﺎز ﮐﺮدن آن ﺑﻪ ﻃﻮر ﻣﺴﺘﻘﯿﻢ ﺑﺎ ﯾﮏ وﯾﺮاﯾﺸﮕﺮ ﻣﺘﻦ وﯾﺮاﯾﺶ ﺷﻮد.
# visudo
اﯾﻦ ﻓﺎﯾﻞ ﻓﺎﯾﻞ / etc / sudoersرا ﺑﺎ اﺳﺘﻔﺎده از vimﺑﺎز ﻣﯽ ﮐﻨﺪ اﯾﻦ ﺧﻄﻮط ﻣﺮﺑﻮﻃﻪ در اداﻣﻪ ﻧﺸﺎن داده ﺷﺪه
ﻫﺴﺘﻨﺪ.
"secure_path = "/ usr / sbin: / usr / bin: / sbin
root ALL = (ALL) ALL
hosein ALL = / bin / yum update
gacanepa ALL = NOPASSWD: / bin / updatedb
٪admin ALL = (ALL) ALL
ﺑﯿﺎﯾﯿﺪ ﺑﻪ آﻧﻬﺎ ﻧﮕﺎه ﮐﻨﯿﻢ.
"secure_path = "/ usr / sbin: / usr / bin: / sbin: / usr / local / bin
اﯾﻦ ﺧﻂ ﺑﻪ ﺷﻤﺎ اﺟﺎزه ﻣﯽ دﻫﺪ داﯾﺮﮐﺘﻮري ﻫﺎﯾﯽ را ﮐﻪ ﺑﺮاي sudoاﺳﺘﻔﺎده ﻣﯽ ﺷﻮﻧﺪ ﻣﺸﺨﺺ ﮐﻨﯿﺪ و ﺑﺮاي
ﺟﻠﻮﮔﯿﺮي از اﺳﺘﻔﺎده از داﯾﺮﮐﺘﻮري ﻫﺎي ﺧﺎص ﮐﻪ ﻣﯽ ﺗﻮاﻧﺪ ﺑﻪ systemآﺳﯿﺐ ﺑﺮﺳﺎﻧﺪ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
ﺧﻄﻮط ﺑﻌﺪي ﺑﺮاي ﺗﻌﯿﯿﻦ ﻣﺠﻮز اﺳﺘﻔﺎده ﻣﯽ ﺷﻮﻧﺪ.
root ALL = (ALL) ALL
اوﻟﯿﻦ ﮐﻠﯿﺪ ALLﻧﺸﺎن دﻫﻨﺪه اﯾﻦ اﺳﺖ ﮐﻪ اﯾﻦ ﻗﺎﻧﻮن ﺑﺮاي ﻫﻤﻪ ﻣﯿﺰﺑﺎﻧﻬﺎ اﻋﻤﺎل ﻣﯽ ﺷﻮد. .1
دوم ALLﻧﺸﺎن ﻣﯽ دﻫﺪ ﮐﻪ ﮐﺎرﺑﺮ در ﺳﺘﻮن اول ﻣﯽ ﺗﻮاﻧﺪ دﺳﺘﻮرات را ﺑﺎ اﻣﺘﯿﺎزات ﻫﺮ ﮐﺎرﺑﺮ اﺟﺮا .2
ﮐﻨﺪ.
دوم ALLﺑﻪ ﻣﻌﻨﯽ ﻫﺮ دﺳﺘﻮر ﻣﯽ ﺗﻮاﻧﺪ اﺟﺮا ﺷﻮد. .3
hosein ALL = / bin / yum update
46
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 47
اﮔﺮ ﮐﺎرﺑﺮ ﭘﺲ از ﻋﻼﻣﺖ =ﻋﻼﻣﺖ ﻣﺸﺨﺺ ﻧﺸﺪه ﺑﺎﺷﺪsudo ،ﻓﺮض ﮐﺎرﺑﺮ rootرا دارد.در اﯾﻦ ﺣﺎﻟﺖ ،ﮐﺎرﺑﺮ
hoseinﻗﺎدر ﺧﻮاﻫﺪ ﺑﻮد ﺑﻪ روز رﺳﺎﻧﯽ yumرا ﺑﻪ ﻋﻨﻮان rootاﺟﺮا ﮐﻨﺪ.
gacanepa ALL = NOPASSWD: / bin / updatedb
دﺳﺘﻮر NOPASSWDﺑﻪ ﮐﺎرﺑﺮ اﺟﺎزه ﻣﯽ دﻫﺪ ﺗﺎ ﺑﺪون ﻧﯿﺎز ﺑﻪ وارد ﮐﺮدن ﮐﻠﻤﻪ ﻋﺒﻮر ﺧﻮد ،دﺳﺘﻮر / bin /
updatedbرا اﺟﺮا ﮐﻨﺪ.
٪admin ALL = (ALL) ALL
ﻧﺸﺎﻧﻪ ٪ﻧﺸﺎن ﻣﯽ دﻫﺪ ﮐﻪ اﯾﻦ ﺧﻂ ﺑﺮاي ﯾﮏ ﮔﺮوه ﺑﻪ ﻧﺎم " " adminاﻋﻤﺎل ﻣﯽ ﺷﻮد.ﻣﻌﻨﺎي ﺑﻘﯿﻪ ﺧﻂ ﻫﻤﺎن ﯾﮏ
ﮐﺎرﺑﺮ ﻣﻌﻤﻮﻟﯽ اﺳﺖ.اﯾﻦ ﺑﺪان ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ اﻋﻀﺎي ﮔﺮوه " " adminﻣﯽ ﺗﻮاﻧﻨﺪ ﺗﻤﺎم دﺳﺘﻮرات را ﺑﻪ ﻋﻨﻮان ﻫﺮ
ﮐﺎرﺑﺮ در ﺗﻤﺎم hostاﺟﺮا ﮐﻨﻨﺪ .ﺑﺮاي دﯾﺪن اﯾﻨﮑﻪ ﭼﻪ اﻣﺘﯿﺎز ﻫﺎﯾﯽ ﺗﻮﺳﻂ sudoﺷﻤﺎ اراﺋﻪ ﻣﯽ ﺷﻮﻧﺪ ،از ﮔﺰﯾﻨﻪ " " -l
ﺑﺮاي ﻟﯿﺴﺖ ﮐﺮدن آﻧﻬﺎ اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
47
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 48
در ﺗﺼﻮﯾﺮ ﺑﺎﻻ ﻣﯽ ﺗﻮاﻧﯿﻢ ﺑﺒﯿﻨﯿﻢ ﮐﻪ libpamﺑﺎ ﺑﺮﻧﺎﻣﻪ ورود ﺑﻪ systemﻣﺮﺗﺒﻂ اﺳﺖ.اﯾﻦ ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ اﯾﻦ
ﺑﺮﻧﺎﻣﻪ در ﺗﺄﯾﯿﺪ ﺗﺄﯾﯿﺪ ﻫﻮﯾﺖ ﮐﺎرﺑﺮ systemدﺧﯿﻞ اﺳﺖ ،در ﺣﺎﻟﯿﮑﻪ ﺑﺎﻻ اﯾﻨﻄﻮر ﻧﯿﺴﺖ .اﺟﺎزه دﻫﯿﺪ ﻓﺎﯾﻞ ﭘﯿﮑﺮﺑﻨﺪي
PAMﺑﺮاي passwdرا ﺑﺮرﺳﯽ ﮐﻨﯿﻢ ﺑﻠﻪ ،اﺑﺰار ﺷﻨﺎﺧﺘﻪ ﺷﺪه ﺑﺮاي ﺗﻐﯿﯿﺮ رﻣﺰﻫﺎي ﻋﺒﻮر ﮐﺎرﺑﺮ.اﯾﻦ در
/etc/pam.d/passwdﻗﺮار دارد:
# cat / etc / passwd
48
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 49
ﺳﺘﻮن اول ﻧﺸﺎن دﻫﻨﺪه typeاﻋﺘﺒﺎر ﺳﻨﺠﯽ اﺳﺖ ﮐﻪ ﺑﺎﯾﺪ ﺑﺎ ( module-pathﺳﺘﻮن ﺳﻮم( ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار
ﮔﯿﺮد.وﻗﺘﯽ ﯾﮏ ﺧﻄﺎ ﻗﺒﻞ از ﻧﻮع ﻧﻤﺎﯾﺶ داده ﻣﯽ ﺷﻮدPAM ،ﺑﻪ ورود ﺑﻪ systemوارد ﻧﻤﯽ ﺷﻮد اﮔﺮ ﻣﺎژول را ﻧﻤﯽ
ﺗﻮان ﺑﺎرﮔﺬاري ﮐﺮد ،زﯾﺮا ﻧﻤﯽ ﺗﻮاﻧﺪ در systemﭘﯿﺪا ﺷﻮد.
اﻧﻮاع اﺣﺮاز ﻫﻮﯾﺖ زﯾﺮ در دﺳﺘﺮس ﻫﺴﺘﻨﺪ:
account :اﯾﻦ ﻧﻮع ﻣﺎژول ﺑﺮرﺳﯽ ﻣﯽ ﮐﻨﺪ ﮐﻪ آﯾﺎ ﮐﺎرﺑﺮ ﯾﺎ ﺳﺮوﯾﺲ اﻋﺘﺒﺎر ﻣﻌﺘﺒﺮ را ﺗﺄﯾﯿﺪ ﮐﺮده اﺳﺖ. .1
auth :اﯾﻦ ﻧﻮع ﻣﺎژول ﺗﺎﯾﯿﺪ ﻣﯽ ﮐﻨﺪ ﮐﺎرﺑﺮ ﭼﻪ ﮐﺴﯽ ادﻋﺎ ﻣﯽ ﮐﻨﺪ و ﻫﺮ ﮔﻮﻧﻪ اﻣﺘﯿﺎز ﻣﻮرد ﻧﯿﺎز را ﻣﯽ دﻫﺪ. .2
password :اﯾﻦ ﻧﻮع ﻣﺎژول اﺟﺎزه ﻣﯽ دﻫﺪ ﺗﺎ ﮐﺎرﺑﺮ ﯾﺎ ﺳﺮوﯾﺲ ﺑﻪ روز رﺳﺎﻧﯽ رﻣﺰ ﻋﺒﻮر ﺧﻮد را. .3
session :اﯾﻦ ﻧﻮع ﻣﺎژول ﻧﺸﺎن ﻣﯽ دﻫﺪ ﭼﻪ ﺑﺎﯾﺪ ﻗﺒﻞ و /ﯾﺎ ﭘﺲ از اﺣﺮاز ﻫﻮﯾﺖ ﻣﻮﻓﻖ ﺷﻮد. .4
controlﻧﺸﺎن ﻣﯽ دﻫﺪ ﭼﻪ اﺗﻔﺎﻗﯽ ﻣﯽ اﻓﺘﺪ اﮔﺮ اﺣﺮاز ﻫﻮﯾﺖ ﺑﺎ اﯾﻦ ﻣﺎژول ﻧﺘﻮاﻧﺪ اﻧﺠﺎم ﺷﻮد: ﺳﺘﻮن دوم )ﺑﻪ ﻧﺎم
requisite :اﮔﺮ اﺣﺮاز ﻫﻮﯾﺖ از ﻃﺮﯾﻖ اﯾﻦ ﻣﺎژول ﻧﺘﻮاﻧﺪ ،اﺣﺮاز ﻫﻮﯾﺖ ﮐﻠﯽ ﺑﻼﻓﺎﺻﻠﻪ اﻧﮑﺎر ﺧﻮاﻫﺪ ﺷﺪ. .1
requiredاﺳﺖ ﺷﺒﯿﻪ ﺑﻪ اﻟﺰاﻣﺎت اﺳﺖ ،ﻫﺮﭼﻨﺪ ﺗﻤﺎم ﻣﺎژول ﻫﺎي ذﮐﺮ ﺷﺪه دﯾﮕﺮ ﺑﺮاي اﯾﻦ ﺳﺮوﯾﺲ ﻗﺒﻞ از .2
رد ﺗﺎﯾﯿﺪ ﻫﻮﯾﺖ ﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮد.
sufficient :اﮔﺮ اﺣﺮاز ﻫﻮﯾﺖ از ﻃﺮﯾﻖ اﯾﻦ ﻣﺎژول ﻧﺘﻮاﻧﺪ اﻧﺠﺎم ﺷﻮدPAM ،ﻫﻤﭽﻨﺎن اﺣﺮاز ﻫﻮﯾﺖ را ﺗﺄﯾﯿﺪ .3
ﻣﯽ ﮐﻨﺪ ،ﺣﺘﯽ اﮔﺮ ﻗﺒﻼ ﺑﻪ ﻋﻨﻮان ﻣﻮرد ﻧﯿﺎز ﻧﺘﻮاﻧﺴﺘﻪ اﯾﺪ.
optional :اﮔﺮ اﺣﺮاز ﻫﻮﯾﺖ از ﻃﺮﯾﻖ اﯾﻦ ﻣﺎژول ﻧﺘﻮاﻧﺪ ﯾﺎ ﻣﻮﻓﻖ ﺷﻮد ،ﻫﯿﭻ اﺗﻔﺎﻗﯽ ﻧﻤﯽ اﻓﺘﺪ ،ﻣﮕﺮ اﯾﻨﮑﻪ اﯾﻦ .4
ﺗﻨﻬﺎ واﺣﺪ از ﻧﻮع آن ﺑﺮاي اﯾﻦ ﺳﺮوﯾﺲ ﺑﺎﺷﺪ.
includeاﯾﻦ ﻣﯽ ﺷﻮد ﮐﻪ ﺧﻄﻮط ﻧﻮع داده ﺷﺪه ﺑﺎﯾﺪ از ﯾﮏ ﻓﺎﯾﻞ دﯾﮕﺮ ﺑﺨﻮاﻧﻨﺪ. .5
substackﺷﺒﯿﻪ ﺑﻪ ﺷﺎﻣﻞ ﻣﯽ ﺑﺎﺷﺪ اﻣﺎ ﺷﮑﺴﺖ ﻫﺎي اﺣﺮاز ﻫﻮﯾﺖ ﯾﺎ ﻣﻮﻓﻘﯿﺖ ﻫﺎ ﺑﺎﻋﺚ ﺧﺮوج از ﻣﺎژول ﮐﺎﻣﻞ .6
ﻧﻤﯽ ﺷﻮد ،ﺑﻠﮑﻪ ﻓﻘﻂ از زﯾﺮ ﺷﺎﺧﻪ اﺳﺖ.
ﺳﺘﻮن ﭼﻬﺎرم ،اﮔﺮ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻧﺸﺎن ﻣﯽ دﻫﺪ ﮐﻪ اﺳﺘﺪﻻل ﻫﺎ ﺑﻪ ﻣﺎژول ﻣﻨﺘﻘﻞ ﻣﯽ ﺷﻮﻧﺪ.
ﺳﻪ ﺧﻂ اول در ( /etc/pam.d/passwdدر ﺑﺎﻻ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ( ،ﻣﺎژول system-authرا ﺑﺎرﮔﺬاري ﻣﯽ
ﮐﻨﺪ ﺗﺎ ﺑﺮرﺳﯽ ﮐﻨﺪ ﮐﻪ ﮐﺎرﺑﺮ اﻋﺘﺒﺎر ﻣﻌﺘﺒﺮي را )ﺣﺴﺎب( اراﺋﻪ ﮐﺮده اﺳﺖ.اﮔﺮ ﭼﻨﯿﻦ اﺳﺖ ،اﺟﺎزه ﻣﯽ دﻫﺪ ﺗﺎ او را ﺑﺎ
اﺟﺎزه دادن ﺑﻪ اﺳﺘﻔﺎده از ) passwd ( authﺗﻐﯿﯿﺮ رﻣﺰ ﻋﺒﻮر اﺣﺮاز ﻫﻮﯾﺖ )رﻣﺰ ﻋﺒﻮر).
49
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 50
ﻓﺮﻣﺎنcksum
دﺳﺘﻮر cksumﺑﺮاي ﻧﻤﺎﯾﺶ ﮐﻨﺘﺮﻟﯽ CRCو ﺷﻤﺎرش ﺑﺎﯾﺖ ﯾﮏ ﻓﺎﯾﻞ ورودي اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ cksum README.txt
ﻓﺮﻣﺎن clear
ﻓﺮﻣﺎن ﭘﺎك ﺑﻪ ﺷﻤﺎ اﺟﺎزه ﻣﯽ دﻫﺪ ﺻﻔﺤﻪ ﻧﻤﺎﯾﺶ ﺗﺮﻣﯿﻨﺎل را ﭘﺎك ﮐﻨﯿﺪ ،ﺑﻪ ﺳﺎدﮔﯽ ﺗﺎﯾﭗ ﮐﻨﯿﺪ.
$ clear
cmp
cmpﯾﮏ ﻣﻘﺎﯾﺴﻪ ﺑﺎﯾﺖ ﺗﻮﺳﻂ ﺑﺎﯾﺖ دو ﻓﺎﯾﻞ ﻣﺎﻧﻨﺪ اﯾﻦ اﻧﺠﺎم ﻣﯽ دﻫﺪ.
$ cmp file1 file2
دﺳﺘﻮر command
commandﺑﺮاي ﻣﻘﺎﯾﺴﻪ دو ﻓﺎﯾﻞ ﻣﺮﺗﺐ ﺷﺪه ﺑﻪ ﺻﻮرت ﺧﻄﯽ ﺑﻪ ﺻﻮرت زﯾﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
$ commnd file1 file2
CP
دﺳﺘﻮر cpﺑﺮاي ﮐﭙﯽ ﻓﺎﯾﻞ ﻫﺎ و داﯾﺮﮐﺘﻮري ﻫﺎ از ﯾﮏ ﻣﮑﺎن ﺑﻪ ﻣﮑﺎن دﯾﮕﺮ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ cp / home/ hosein /file1 /home/ hosein
در ﺣﺎﻟﯽ ﮐﻪ ﯾﺎدﮔﯿﺮي ،linuxﻫﻤﯿﺸﻪ ﺑﺮاي ﺗﺎزه ﮐﺎرﻫﺎ ﻋﺎدي اﺳﺖ ﮐﻪ دﺳﺘﻮرات ﻣﺘﻌﺪدي را ﺑﺮاي اﻧﺠﺎم ﯾﮏ ﮐﺎر
ﺳﺎده اﻧﺠﺎم ﻣﯽ دﻫﻨﺪ.اﯾﻦ ﻗﺎﺑﻞ درك اﺳﺖ ﺑﻪ وﯾﮋه ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﮐﺴﯽ ﻓﻘﻂ ﺑﻪ اﺳﺘﻔﺎده از ﺗﺮﻣﯿﻨﺎل ﻋﺎدت ﮐﺮده اﺳﺖ.
در linuxدﺳﺘﻮر cpﺑﺮاي ﮐﭙﯽ ﮐﺮدن ﻓﺎﯾﻞ ﻫﺎ از ﯾﮏ ﭘﻮﺷﻪ ﺑﻪ دﯾﮕﺮي اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد ،ﺳﺎده ﺗﺮﯾﻦ ﻧﺤﻮ اﺳﺘﻔﺎده از
آن ﺑﻪ ﺷﺮح زﯾﺮ اﺳﺖ:
ﻣﻘﺼﺪ ﻣﻨﺒﻊ )ﻓﺎﯾﻞ ﯾﺎ ﻓﻬﺮﺳﺖ( # cp
ﻫﻤﭽﻨﯿﻦ ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ از دﺳﺘﻮر ﭘﯿﺸﺮﻓﺘﻪ ﮐﭙﯽ اﺳﺘﻔﺎده ﮐﻨﯿﺪﮐﻪ ﻧﻮار ﭘﯿﺸﺮﻓﺖ را در ﻫﻨﮕﺎم ﮐﭙﯽ ﮐﺮدن ﭘﺮوﻧﺪه ﻫﺎ /
ﭘﻮﺷﻪ ﻫﺎي ﺑﺰرگ در linuxﻧﺸﺎن ﻣﯽ دﻫﺪ .ﺳﻌﯽ ﮐﻨﯿﺪ از ﻃﺮﯾﻖ ﺻﻔﺤﺎت manاز دﺳﺘﻮرات echo ،cpو
xargsﺑﺮاي findاﻃﻼﻋﺎت ﻣﻔﯿﺪ و ﭘﯿﺸﺮﻓﺘﻪ اﺳﺘﻔﺎده ﮐﻨﯿﺪ:
$ man cp
$ man echo
$ man xargs
50
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 51
ﯾﺎ
# cp -R - / hosein / / data /ali
51
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 52
ﯾﺎ
# mv –g /mp3 /data /
52
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 53
ﻓﺮﻣﺎن ﺗﺎرﯾﺦ
ﺗﺎرﯾﺦ systemﻧﻤﺎﯾﺶ /ﺗﻨﻈﯿﻢ ﺗﺎرﯾﺦ systemو زﻣﺎن ﻣﺎﻧﻨﺪ اﯾﻦ.
$ date
DD
دﺳﺘﻮر DDﺑﺮاي ﮐﭙﯽ ﻓﺎﯾﻞ ﻫﺎ ،ﺗﺒﺪﯾﻞ و ﻗﺎﻟﺐ ﺑﻨﺪي ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﭘﺮﭼﻢ ﻫﺎي اراﺋﻪ ﺷﺪه در ﺧﻂ ﻓﺮﻣﺎن اﺳﺘﻔﺎده
ﻣﯽ ﺷﻮد.اﯾﻦ ﻣﯽ ﺗﻮاﻧﺪ ﺳﺮﺻﻔﺤﻪ ﻫﺎ را اﺳﺘﺨﺮاج ﮐﻨﺪ ،ﺑﺨﺶ ﻫﺎﯾﯽ از ﻓﺎﯾﻞ ﻫﺎي دودوﯾﯽ اﺳﺘﺨﺮاج ﮐﻨﺪ و ﻏﯿﺮه.
ﻣﺜﺎل زﯾﺮ ﻧﺸﺎن ﻣﯽ دﻫﺪ اﯾﺠﺎد ﯾﮏ دﺳﺘﮕﺎه USBﺑﻮت ﻗﺎدر اﺳﺖ:
؛ $ dd if = /home/hosein/kali-linux-1.0.4-i386.iso of =/dev/sdc1 bs = 512M
دﺳﺘﻮرDF
دﺳﺘﻮر DFﺑﺮاي ﻧﺸﺎن دادن ﻓﻀﺎي اﺳﺘﻔﺎده از ﻓﻀﺎي systemﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ df -h
دﺳﺘﻮراﻟﻌﻤﻞ " "DFﻣﻔﯿﺪ ﺑﺮاي ﺑﺮرﺳﯽ ﻓﻀﺎي دﯾﺴﮏ در linux
در اﯾﻨﺘﺮﻧﺖ ﺷﻤﺎ ﻣﻘﺪار زﯾﺎدي اﺑﺰار ﺑﺮاي ﺑﺮرﺳﯽ اﺳﺘﻔﺎده از ﻓﻀﺎي دﯾﺴﮏ در linuxﭘﯿﺪا ﺧﻮاﻫﯿﺪ ﮐﺮد.ﺑﺎ اﯾﻦ ﺣﺎل،
linuxﯾﮏ اﺑﺰار ﻗﺪرﺗﻤﻨﺪ ﺳﺎﺧﺘﻪ ﺷﺪه را ﺑﻪ ﻧﺎم ' ' DFﺳﺎﺧﺘﻪ اﺳﺖ.ﻓﺮﻣﺎن " " DFﺑﺮاي " systemﻓﺎﯾﻞ دﯾﺴﮏ "
اﯾﺴﺘﺎده اﺳﺖ ،ﺑﺮاي ﺧﻼص ﺷﺪن ﮐﺎﻣﻞ از در دﺳﺘﺮس ﺑﻮدن و اﺳﺘﻔﺎده از ﻓﻀﺎي اﺳﺘﻔﺎده از دﯾﺴﮏ systemدر
53
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 54
linux systemاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد .ﺑﺎ اﺳﺘﻔﺎده از ﭘﺎراﻣﺘﺮ » « -hﺑﺎ ) ( df -hآﻣﺎر ﻓﻀﺎي دﯾﺴﮏ ﻓﺎﯾﻠﯽ را در ﻓﺮﻣﺖ
«اﻧﺴﺎن ﻗﺎﺑﻞ ﺧﻮاﻧﺪن »ﻧﺸﺎن ﻣﯽ دﻫﺪ ،ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ ﮐﻪ ﺟﺰﺋﯿﺎت در ﺑﺎﯾﺖ ،ﻣﮕﺎ ﺑﺎﯾﺖ و ﮔﯿﮕﺎﺑﺎﯾﺖ را ﻣﯽ دﻫﺪ.
دﺳﺘﻮراﻟﻌﻤﻞ DF
دﺳﺘﻮر " " dfاﻃﻼﻋﺎت ﻧﺎم دﺳﺘﮕﺎه ،ﺑﻠﻮك ﻫﺎي ﮐﻞ ،ﻓﻀﺎي دﯾﺴﮏ ﮐﻞ ،ﻓﻀﺎي دﯾﺴﮏ ﻣﻮرد اﺳﺘﻔﺎده ،ﻓﻀﺎي دﯾﺴﮏ
در دﺳﺘﺮس و ﻧﻘﺎط ﺳﻮﭘﺎپ در ﯾﮏ systemﻓﺎﯾﻞ را ﻧﻤﺎﯾﺶ ﻣﯽ دﻫﺪ.
[ root@ hosein ~] # df
54
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 55
ﻓﺎﯾﻞ ﻫﺎي M 1 systemﺑﻠﻮك ﻣﻮرد اﺳﺘﻔﺎده در دﺳﺘﺮس اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد٪ﻣﺘﺼﻞ ﺷﺪه اﺳﺖ.
55
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 56
56
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 57
ﻧﻤﺎﯾﺶ اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ systemﻓﺎﯾﻞ ﮐﻪ ﻫﺮ ﻓﺎﯾﻞ در آن ﻗﺮار دارد ﯾﺎ ﻫﻤﻪ systemﻫﺎي ﻓﺎﯾﻞ ﺑﻪ ﻃﻮر ﭘﯿﺶ
ﻓﺮض .اﺳﺘﺪﻻل ﻫﺎي اﺟﺒﺎري ﺑﺮاي ﮔﺰﯾﻨﻪ ﻫﺎي ﻃﻮﻻﻧﯽ ﺑﺮاي ﮔﺰﯾﻨﻪ ﻫﺎي ﮐﻮﺗﺎه ﻧﯿﺰ ﺿﺮوري اﺳﺖ.
- ، -aﻫﻤﻪ ﺷﺎﻣﻞ systemﻓﺎﯾﻞ ﻫﺎي ﺳﺎﺧﺘﮕﯽ اﺳﺖ
block-size = SIZE --ﺑﺎ اﺳﺘﻔﺎده از ﺑﻠﻮك ﻫﺎي SIZEﺑﺎﯾﺖ ، -B
- ، -hاﻧﺪازه ﭼﺎپ ﻗﺎﺑﻞ ﺧﻮاﻧﺪن در اﻧﺴﺎن در ﻓﺮﻣﺖ ﻗﺎﺑﻞ ﺧﻮاﻧﺪن اﻧﺴﺎﻧﯽ )ﺑﻪ ﻋﻨﻮان ﻣﺜﺎلK 234M 2G)1 ،
si --ﺑﻪ ﻫﻤﯿﻦ ﺗﺮﺗﯿﺐ ،اﻣﺎ اﺳﺘﻔﺎده از ﻗﺪرت 1000ﻧﻪ 1024 ، -H
inodes --ﻟﯿﺴﺖ اﻃﻼﻋﺎت inodeﺑﻪ ﺟﺎي اﺳﺘﻔﺎده از ﺑﻠﻮك ، -i
-kﻣﺎﻧﻨﺪ--block-size = 1K
- ، -lﻣﺤﺪود ﮐﺮدن ﻣﺤﺪوده ﻣﺤﻠﯽ ﺑﻪ systemﻓﺎﯾﻞ ﻣﺤﻠﯽ
-no-syncﭘﯿﺶ از ﮔﺮﻓﺘﻦ اﻃﻼﻋﺎت اﺳﺘﻔﺎده )ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض)
portability --از ﻓﺮﻣﺖ ﺧﺮوﺟﯽ POSIXاﺳﺘﻔﺎده ﮐﻨﯿﺪ ، -P
- syncﻫﻤﮕﺎم ﺳﺎزي را ﻗﺒﻞ از درﯾﺎﻓﺖ اﻃﻼﻋﺎت اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﺪ
type = TYPE --ﻣﺤﺪود ﮐﺮدن ﻟﯿﺴﺖ ﺑﻪ ﻓﺎﯾﻞ systemﻫﺎي ﻧﻮعTYPE ، -t
57
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 58
58
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 59
ﻣﻘﺎﯾﺴﻪ ﻓﺎﯾﻞ
ﺑﻪ ﻃﻮر ﻣﻌﻤﻮل ،ﺑﺮاي ﻣﻘﺎﯾﺴﻪ دو ﻓﺎﯾﻞ در ،linuxاز diffاﺳﺘﻔﺎده ﻣﯽ ﮐﻨﯿﻢ .ﯾﮏ اﺑﺰار ﺧﻂ ﻓﺮﻣﺎن ﯾﻮﻧﯿﮑﺲ ﺳﺎده و
اﺻﻠﯽ اﺳﺖ ﮐﻪ ﺗﻔﺎوت ﺑﯿﻦ دو ﻓﺎﯾﻞ ﮐﺎﻣﭙﯿﻮﺗﺮي را ﻧﺸﺎن ﻣﯽ دﻫﺪ ،ﻓﺎﯾﻞ ﻫﺎ را ﺑﻪ ﺻﻮرت ﺧﻄﯽ ﻣﻘﺎﯾﺴﻪ ﻣﯽ ﮐﻨﺪ و از آن
آﺳﺎن اﺳﺖ ﮐﻪ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد ،ﺑﺎ ﺑﺴﯿﺎري از ﺗﻮزﯾﻊ ﻫﺎي install linuxﻣﯽ ﺷﻮد.
ﺳﻮال اﯾﻦ اﺳﺖ ﮐﻪ ﭼﮕﻮﻧﻪ ﻣﯽ ﺗﻮاﻧﯿﻢ ﺑﯿﻦ دو داﯾﺮﮐﺘﻮري در linuxﺗﻔﺎوت اﯾﺠﺎد ﮐﻨﯿﻢ؟در اﯾﻨﺠﺎ ،ﻣﺎ ﻣﯽ ﺧﻮاﻫﯿﻢ
ﺑﺪاﻧﯿﻢ ﮐﻪ ﮐﺪام ﻓﺎﯾﻞ ﻫﺎ /زﯾﺮ ﺷﺎﺧﻪ ﻫﺎ در دو داﯾﺮﮐﺘﻮري ﻣﺸﺘﺮك ﻫﺴﺘﻨﺪ ،ﮐﺴﺎﻧﯽ ﮐﻪ در ﯾﮏ داﯾﺮﮐﺘﻮري ﻣﻮﺟﻮد
ﻫﺴﺘﻨﺪ ،اﻣﺎ ﻧﻪ در داﯾﺮﮐﺘﻮري.
دﺳﺘﻮر diff
دﺳﺘﻮراﻟﻌﻤﻞ ﻣﺘﻌﺎرف ﺑﺮاي اﺟﺮاي diffﺑﻪ ﺷﺮح زﯾﺮ اﺳﺖ:
$ diff [OPTION] ... FILES
$ diff dir1 dir2
ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض ،ﺧﺮوﺟﯽ آن ﺑﻪ ﺗﺮﺗﯿﺐ ﺣﺮوف اﻟﻔﺒﺎ ﺗﻮﺳﻂ ﻧﺎم ﻓﺎﯾﻞ /زﯾﺮ ﺷﺎﺧﻪ ﺑﻪ ﺗﺮﺗﯿﺐ در ﺗﺼﻮﯾﺮ زﯾﺮ ﻧﺸﺎن داده
ﺷﺪه اﺳﺖ.در اﯾﻦ ﻓﺮﻣﺎن ،ﮐﻠﯿﺪ -qﮔﺰارش را ﻓﻘﻂ زﻣﺎﻧﯽ ﮐﻪ ﭘﺮوﻧﺪه ﻫﺎ ﻣﺘﻔﺎوت ﻫﺴﺘﻨﺪ ،ﮔﺰارش ﻣﯽ ﮐﻨﺪ.
$ diff -q directory-1 / directory-2 /
59
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 60
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ راﺑﻂ Meldزﯾﺮ را ﺑﺒﯿﻨﯿﺪ ،ﺟﺎﯾﯽ ﮐﻪ ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﻣﻘﺎﯾﺴﻪ ﻓﺎﯾﻞ ﯾﺎ داﯾﺮﮐﺘﻮري و ﻫﻤﭽﻨﯿﻦ ﻧﻤﺎﯾﺶ
ﮐﻨﺘﺮل ﻧﺴﺨﻪ را اﻧﺘﺨﺎب ﮐﻨﯿﺪ.در ﻣﻘﺎﯾﺴﻪ ﺑﺎ داﯾﺮﮐﺘﻮري ﮐﻠﯿﮏ ﮐﻨﯿﺪ و ﺑﻪ راﺑﻂ ﺑﻌﺪي ﺑﺮوﯾﺪ.
60
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 61
61
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 62
syntaxﻓﺮﻣﺎن dir
ﺧﺮوﺟﯽ ﺳﺎده دﺳﺘﻮر ﻓﺮﻣﺎن
# dir /
دﺳﺘﻮر ﺧﺮوﺟﯽ
ﺧﺮوﺟﯽ دﺳﺘﻮر dirﺑﺎ ﻓﺎﯾﻞ داﯾﺮﮐﺘﻮري /etcﺑﻪ ﺷﺮح زﯾﺮ اﺳﺖ.ﻫﻤﺎﻧﻄﻮر ﮐﻪ از ﺧﺮوﺟﯽ ﻣﯽ ﺑﯿﻨﯿﺪ ،ﺗﻤﺎم ﻓﺎﯾﻞ ﻫﺎي
ﻣﻮﺟﻮد در داﯾﺮﮐﺘﻮري / etcﻟﯿﺴﺖ ﻧﺸﺪه اﻧﺪ.
# dir / etc
62
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 63
/داﯾﺮﮐﺘﻮري
63
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 64
64
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 65
65
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 66
66
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 67
ﻟﯿﺴﺖ داﯾﺮﮐﺘﻮرﯾﻬﺎ را ﺑﻪ ﺻﻮرت ﻣﺠﺰا در ﺧﺮوﺟﯽ ﺑﺎﻻ ،ﻋﻼﻣﺖ )(.ﯾﻌﻨﯽ داﯾﺮﮐﺘﻮري ﻓﻌﻠﯽ و داﯾﺮﮐﺘﻮري ﺧﺎﻧﮕﯽ ﮐﺎرﺑﺮ
Aliداراي ﺳﻪ زﯾﺮ ﻓﻬﺮﺳﺖ اﺳﺖ ﮐﻪ dir ،Backupو Docsاﺳﺖ.
زﯾﺮﮔﺮوهBackupداراي دو زﯾﺮﺷﺎﺧﻪ دﯾﮕﺮ اﺳﺖ ﮐﻪ mariadbو mysqlﻫﺴﺘﻨﺪ ﮐﻪ ﻫﯿﭻ زﯾﺮدرﯾﺎﯾﯽ ﻧﺪارﻧﺪ.
زﯾﺮ ﭘﻮﺷﻪ dirﯾﮏ ﭘﻮﺷﻪ زﯾﺮ ﻧﺪارد.و Subdirectory Docsداراي دو زﯾﺮ ﺷﺎﺧﻪ اﺳﺖ ﯾﻌﻨﯽ Books and
Tutsﮐﻪ ﺷﺎﺧﻪ ﻫﺎي زﯾﺮ را ﻧﺪارﻧﺪ.
ﺑﻪ ﺟﺎي اﺳﻤﻬﺎ ،ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮي و ﮔﺮوه را ﻣﺸﺎﻫﺪه ﮐﻨﯿﺪ ﺑﺮاي ﻣﺸﺎﻫﺪه ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮي و ﮔﺮوه ،ﺷﻤﺎ ﺑﺎﯾﺪ از ﮔﺰﯾﻨﻪ -
nاﺳﺘﻔﺎده ﮐﻨﯿﺪ.ﺑﮕﺬارﯾﺪ ﺗﻔﺎوت ﺑﯿﻦ دو ﺧﺮوﺟﯽ ﺑﻌﺪي را ﻣﺸﺎﻫﺪه ﮐﻨﯿﻢ.
ﺧﺮوﺟﯽ ﺑﺪون ﮔﺰﯾﻨﻪ -n .
# dir -l --author
67
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 68
68
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 69
Dmidecode
ﭼﮕﻮﻧﻪ ﻣﯽ ﺗﻮان از دﺳﺘﻮر Dmidecodeﺑﺮاي ﺑﺎزﯾﺎﺑﯽ اﻃﻼﻋﺎت ﺳﺨﺖ اﻓﺰاري ﻫﺮ linux systemاﺳﺘﻔﺎده
ﮐﺮد.ﻓﺮض ﮐﻨﯿﺪ ﻣﺎ ﻣﯽ ﺧﻮاﻫﯿﻢ اﻃﻼﻋﺎت ﯾﮏ systemرا ﮐﻪ ﻧﯿﺎز دارﯾﻢ ﺟﻤﻊ آوري ﮐﻨﯿﻢ.ﻣﺎﻧﻨﺪ ، memoryﺑﺎﯾﻮس
و ﭘﺮدازﻧﺪه و ﻏﯿﺮه .ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر ،Dmidecodeﻣﺎ ﻣﯽ ﺧﻮاﻫﯿﻢ ﺟﺰﺋﯿﺎت را ﺑﺪون ﺑﺎز ﮐﺮدن system
ﺗﺸﺨﯿﺺ دﻫﯿﻢ.دﺳﺘﻮر Dmidecodeﺑﺮاي RHEL / CentOS / Fedora / Ubuntu Linuxﮐﺎر ﻣﯽ ﮐﻨﺪ.
69
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 70
آدرسxE78A00 :
ﺣﺠﻢ اﺟﺮا 100192 :ﺑﺎﯾﺖ
ROMﺣﺠﻢ 64 :ﮐﯿﻠﻮﺑﺎﯾﺖ
ﻣﺸﺨﺼﺎت:
ISAﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
PCIﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
) PC Card (PCMCIAﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
PNPﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
APMﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
ﺑﺎﯾﻮس ﻗﺎﺑﻞ ارﺗﻘﺎ اﺳﺖ
ﺳﺎﯾﻪ BIOSﻣﺠﺎز اﺳﺖ
ﭘﺸﺘﯿﺒﺎﻧﯽ ESCDدر دﺳﺘﺮس اﺳﺖ
ﻣﯿﺮاث USBﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
ﺑﺎﺗﺮي ﻫﻮﺷﻤﻨﺪ ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
ﻣﺸﺨﺼﺎت ﺑﻮت BIOSﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
70
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 71
ﺗﻮﺟﻪ:از ﻟﯿﺴﺖ ﮐﻠﯿﺪ واژه ﻫﺎ ،ﺷﻨﺎﺳﻪ ﻫﺎي ﻣﺮﺑﻮط ﺑﻪ 16 ،6 ،memory5و 17ﻣﯽ ﺑﺎﺷﺪ.
4ﭼﮕﻮﻧﻪ ﻣﯽ ﺗﻮاﻧﻢ اﻃﻼﻋﺎت BIOSدرﯾﺎﻓﺖ ﮐﻨﻢ؟
ﺑﺮاي درﯾﺎﻓﺖ اﻃﻼﻋﺎت ،BIOSsystemدﺳﺘﻮر زﯾﺮ را ﺑﺎ ﮔﺰﯾﻨﻪ ''-tاﺟﺮا ﮐﻨﯿﺪ.
[ root@ hosein ~] # dmidecode -t BIOS
# dmidecode 2.11
PNPﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
APMﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
ﺑﺎﯾﻮس ﻗﺎﺑﻞ ارﺗﻘﺎ اﺳﺖ
ﺳﺎﯾﻪ BIOSﻣﺠﺎز اﺳﺖ
ﭘﺸﺘﯿﺒﺎﻧﯽ ESCDدر دﺳﺘﺮس اﺳﺖ
ﻣﯿﺮاث USBﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
ﺑﺎﺗﺮي ﻫﻮﺷﻤﻨﺪ ﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
ﻣﺸﺨﺼﺎت ﺑﻮت BIOSﭘﺸﺘﯿﺒﺎﻧﯽ ﻣﯽ ﺷﻮد
5.ﭼﮕﻮﻧﻪ ﺗﻮﻟﯿﺪ ﮐﻨﻨﺪه ،ﻣﺪل و ﺷﻤﺎره ﺳﺮﯾﺎل را درﯾﺎﻓﺖ ﮐﻨﻢ؟
71
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 72
ﺑﺮاي درﯾﺎﻓﺖ اﻃﺎﻟﻌﺎت ﻣﺮﺑﻮط ﺑﻪ ﺳﺎزﻧﺪه ،ﻣﺪل و ﺷﻤﺎره ﺳﺮﯾﺎل ،systemاز دﺳﺘﻮر زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ ،ﻫﻤﺎﻧﻄﻮر ﮐﻪ
در زﯾﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
[ root@ hosein ~] # dmidecode -t system
3.13.0-37 public
ﺑﺮاي ﭼﺎپ ﻧﺎم ﺳﺨﺖ اﻓﺰار دﺳﺘﮕﺎه ﺧﻮد ،از ﮐﻠﯿﺪ ""-mاﺳﺘﻔﺎده ﮐﻨﯿﺪ:
hosein @ hosein ~ $ uname-m
x86_64
ﺗﻤﺎم اﯾﻦ اﻃﻼﻋﺎت را ﻣﯽ ﺗﻮان در ﯾﮏ ﺑﺎر ﺑﺎ اﺟﺮاي دﺳﺘﻮر uname -aﺑﻪ ﺻﻮرت زﯾﺮ ﻧﺸﺎن داد.
hosein @ hosein ~ $ uname -a
linux hosein .com 3.13.0-37- public -64 # ubuntu SMP monday 22 november21:28:38
UTC 2014 x86_64 x86_64 x86_64 gnu / linux
72
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 73
اﮔﺮ ﻣﯽ ﺧﻮاﻫﯿﺪ ﺧﺮوﺟﯽ را ﺑﻪ ﻋﻨﻮان ﯾﮏ ﻓﺎﯾﻞ HTMLاﯾﺠﺎد ﮐﻨﯿﺪ ،ﻣﯽ ﺗﻮاﻧﯿﺪ از ﮔﺰﯾﻨﻪ hhtmlاﺳﺘﻔﺎده ﮐﻨﯿﺪ.
hosein @ hosein ~ $ sudo lshw -html> lshw.html
73
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 74
architect: x86_64
bit 64 ،protocolCPU: 32 bit
Order Byte: Little Endian
ﭘﺮدازﻧﺪه )ﻫﺎ(4 :
ﻟﯿﺴﺖ ﭘﺮوﺗﮑﻞ ﻫﺎيCPU: 0-3
74
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 75
75
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 76
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ از ﮔﺰﯾﻨﻪ -vﺑﺮاي ﺗﻮﻟﯿﺪ اﻃﻼﻋﺎت دﻗﯿﻖ در ﻣﻮرد ﻫﺮ دﺳﺘﮕﺎه USBاﺳﺘﻔﺎده ﮐﻨﯿﺪ.
hosein @ hosein ~ $ lsusb -v
. 6ﻧﺤﻮه ﭼﺎپ اﻃﻼﻋﺎت دﺳﺘﮕﺎه ﻫﺎيPCI
دﺳﺘﮕﺎه ﻫﺎي PCIﻣﻤﮑﻦ اﺳﺖ ﺷﺎﻣﻞ ﭘﻮرت ﻫﺎي ، USBﮐﺎرت ﮔﺮاﻓﯿﮏ ،آداﭘﺘﻮرﻫﺎي ﺷﺒﮑﻪ و ﻏﯿﺮه ﺑﺎﺷﺪ .اﺑﺰار
lspciﺑﺮاي ﺗﻮﻟﯿﺪ اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﺗﻤﺎﻣﯽ ﮐﻨﺘﺮل ﮐﻨﻨﺪه ﻫﺎي PCIدر systemﺷﻤﺎ و ﻫﻤﭽﻨﯿﻦ دﺳﺘﮕﺎه ﻫﺎﯾﯽ ﮐﻪ
ﺑﻪ آﻧﻬﺎ ﻣﺘﺼﻞ اﺳﺖ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
ﺑﺮاي ﭼﺎپ اﻃﻼﻋﺎت در ﻣﻮرد دﺳﺘﮕﺎه ﻫﺎي PCIدﺳﺘﻮر زﯾﺮ را اﺟﺮا ﮐﻨﯿﺪ:
hosein @ hosein ~ $ lspci
از ﮔﺰﯾﻨﻪ -tﺑﺮاي ﺗﻮﻟﯿﺪ ﺧﺮوﺟﯽ در ﻓﺮﻣﺖ درﺧﺖ اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
از ﮔﺰﯾﻨﻪ -vﺑﺮاي ﺗﻮﻟﯿﺪ اﻃﻼﻋﺎت دﻗﯿﻖ در ﻣﻮرد ﻫﺮ دﺳﺘﮕﺎه ﻣﺘﺼﻞ اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
hosein @ hosein ~ $ lspci -v
) Intel (rev 0bﺷﺮﮐﺖ Haswell-ULTﻫﺎي DRAMﭘﻞ ﻣﯿﺰﺑﺎن :ﮐﻨﺘﺮل ﮐﻨﻨﺪه 00: 00.0
: Lenovo 3978دﺳﺘﮕﺎهsystemزﯾﺮ
: bus master ،devsel fast ،latency 0ﭘﺮﭼﻢ ﻫﺎ
:ﻗﺎﺑﻠﯿﺖ ﻫﺎ
76
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 77
ﻫﻨﺪﺳﻪ
ﺑﺮاي ﭼﺎپ اﻃﻼﻋﺎت در ﻣﻮرد ﻫﻨﺪﺳﻪ دﺳﺘﮕﺎه intermsاز ﺳﯿﻠﻨﺪر ،ﺳﺮ ،ﺑﺨﺶ ،اﻧﺪازه و offsetﺷﺮوع دﺳﺘﮕﺎه ،از
ﮔﺰﯾﻨﻪ -gاﺳﺘﻔﺎده ﮐﻨﯿﺪ.
hosein @ hosein ~ $ sudo hdparm -g / dev / sda1
77
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 78
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ اﻃﻼﻋﺎت ﭘﺎرﺗﯿﺸﻦ را ﺑﻪ ﺻﻮرت زﯾﺮ ﭼﺎپ ﮐﻨﯿﺪ.ﻓﺮاﻣﻮش ﻧﮑﻨﯿﺪ ﮐﻪ اﯾﻦ ﻓﺮﻣﺎن را ﺑﻪ ﻋﻨﻮان ﯾﮏ ﮐﺎرﺑﺮ
ﻓﻮق ﮐﺎرﺑﺮ اﺟﺮا ﮐﻨﯿﺪ ﯾﺎ ﺷﺎﯾﺪ ﺷﻤﺎ ﻫﯿﭻ ﺧﺮوﺟﯽ را ﻣﺸﺎﻫﺪه ﻧﮑﻨﯿﺪ.
hosein @ hosein ~ $ sudo fdisk -l
دﺳﺘﻮر du
دﺳﺘﻮر ) duاﺳﺘﻔﺎده از دﯾﺴﮏ( دﺳﺘﻮراﻟﻌﻤﻞ ﺑﺮاي ﯾﺎﻓﺘﻦ اﺳﺘﻔﺎده از ﻓﺎﯾﻞ ﻫﺎ و راﻫﻨﻤﺎﻫﺎي دﯾﺴﮏ
) linux " du " ( Disk Usageﯾﮏ دﺳﺘﻮراﻟﻌﻤﻞ اﺳﺘﺎﻧﺪارد ﯾﻮﻧﯿﮑﺲ linux /اﺳﺖ ﮐﻪ ﺑﺮاي ﺑﺮرﺳﯽ اﻃﻼﻋﺎت
اﺳﺘﻔﺎده دﯾﺴﮏ از ﻓﺎﯾﻞ ﻫﺎ و داﯾﺮﮐﺘﻮري ﻫﺎ در ﯾﮏ ﻣﺎﺷﯿﻦ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.دﺳﺘﻮر duداراي ﮔﺰﯾﻨﻪ ﻫﺎي ﭘﺎراﻣﺘﺮﻫﺎي
ﺑﺴﯿﺎري اﺳﺖ ﮐﻪ ﻣﯽ ﺗﻮاﻧﺪ ﺑﺮاي ﻧﺘﺎﯾﺞ در ﺑﺴﯿﺎري از ﻓﺮﻣﺖ ﻫﺎ اﺳﺘﻔﺎده ﺷﻮد.دﺳﺘﻮر duﻫﻤﭽﻨﯿﻦ ﻓﺎﯾﻞ ﻫﺎ و اﻧﺪازه ﻫﺎي
ﭘﻮﺷﻪ را ﺑﻪ ﺻﻮرت ﺑﺎزﮔﺸﺘﯽ ﻧﻤﺎﯾﺶ ﻣﯽ دﻫﺪ.
78
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 79
79
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 80
اﻣﺎ ﻓﺎﯾﻞ ﻫﺎﯾﯽ را ﮐﻪ ﺑﺎ اﻟﮕﻮي داده،دﺳﺘﻮر زﯾﺮ ﻣﺤﺎﺳﺒﻪ و اﺳﺘﻔﺎده از ﮐﻠﯿﻪ ﻓﺎﯾﻞ ﻫﺎ و داﯾﺮﮐﺘﻮري ﻫﺎ را ﻧﻤﺎﯾﺶ ﻣﯽ دﻫﺪ
. " را ﻣﺤﺎﺳﺒﻪ ﻣﯽ ﮐﻨﺪ.txt " دﺳﺘﻮر زﯾﺮ زﯾﺮ ﻣﺤﺘﻮﯾﺎت ﻓﺎﯾﻞ ﻫﺎي. ﺣﺬف ﻣﯽ ﮐﻨﺪ،ﺷﺪه ﻣﻄﺎﺑﻘﺖ دارد
[ root@ hosein ] # du -ah -exclude = "* .txt"
80
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 81
ﻫﻤﺎﻧﻄﻮر ﮐﻪ در زﯾﺮ، " اﺳﺘﻔﺎده ﮐﻨﯿﺪ-time " از ﭘﺮﭼﻢ،اﺳﺘﻔﺎده از دﯾﺴﮏ را ﺑﺮ اﺳﺎس اﺻﻼح زﻣﺎن ﻧﻤﺎﯾﺶ دﻫﯿﺪ
.ﻧﺸﺎن داده ﺷﺪه اﺳﺖ
[ root@ hosein ] # du -ha -time / home / hosein
81
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 82
echo
ﯾﮑﯽ از ﻣﻌﻤﻮل ﺗﺮﯾﻦ و ﺑﻪ ﻃﻮر ﮔﺴﺘﺮده اي از ﻓﺮﻣﺎن داﺧﻠﯽ ﺳﺎﺧﺘﻪ ﺷﺪه در ﭘﻮﺳﺘﻪ ﻫﺎي linux bashو Cاﺳﺖ ﮐﻪ
ﻣﻌﻤﻮﻻ در زﺑﺎن اﺳﮑﺮﯾﭙﺘﯽ و ﻓﺎﯾﻞ ﻫﺎي دﺳﺘﻪ اي اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد ﺗﺎ ﯾﮏ ﺧﻂ ﻣﺘﻦ /رﺷﺘﻪ در ﺧﺮوﺟﯽ اﺳﺘﺎﻧﺪارد ﯾﺎ
ﯾﮏ ﻓﺎﯾﻞ ﻧﻤﺎﯾﺶ داده ﺷﻮد.
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ' \ n ' -ﺧﻂ ﺟﺪﯾﺪ ﺑﺎ ﺗﻔﺴﯿﺮ ' backspace ' -eﺧﻂ ﺟﺪﯾﺪ را از ﺟﺎﯾﯽ ﮐﻪ از آن اﺳﺘﻔﺎده ﻣﯽ
ﺷﻮد ﭘﺮدازش ﻣﯽ ﮐﻨﺪ.
"$ echo -e " hosein \ nis \ na \ ncommunity \ nof \ n linux \ n
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ' \ t ' -زﺑﺎﻧﻪ اﻓﻘﯽ ﺑﺎ ﺗﻔﮑﺮ ' backspace ' -eﺑﺮاي ﻓﻀﺎﻫﺎي ﺗﺐ اﻓﻘﯽ.
"$ echo -e " hosein \ tis \ ta \ tcommunity \ tof \ tLinux \ tNerds
82
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 83
در ﻣﻮرد اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ﺟﺪﯾﺪ ﺧﻂ ' ' \ nو ﺑﺮﮔﻪ اﻓﻘﯽ ' ' \ tﺑﻪ ﻃﻮر ﻫﻤﺰﻣﺎن.
\ $ echo -e "\ n \ t hosein \ n \ tis \ n \ ta \ n \ tcommunity \ n \ tof \ n \ t linux \ n
"tNerds
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ' \ v ' -ﺑﺮﮔﻪ ﻋﻤﻮدي ﺑﺎ ﺗﻔﮑﺮ ' backspace ' -eﺑﺮاي ﻓﻀﺎﻫﺎي ﺑﺮﮔﻪ ﻋﻤﻮدي.
"$ echo -e "\ v hosein \ vis \ va \ vcommunity \ vof \ vLinux \ vNerds
در ﻣﻮرد اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ﺟﺪﯾﺪ ﺧﻂ ' ' \ nو ﺑﺮﮔﻪ ﻋﻤﻮدي ' ' \ vﺑﻪ ﻃﻮر ﻫﻤﺰﻣﺎن.
\ $ echo -e "\ n \ v hosein \ n \ vis \ n \ va \ n \ vcommunity \ n \ vof \ n \ vLinux \ n
"vNerds
ﻧﮑﺘﻪ :ﻣﺎ ﻣﯽ ﺗﻮاﻧﯿﻢ زﺑﺎﻧﻪ ﻋﻤﻮدي ،ﺗﺐ اﻓﻘﯽ و ﻓﺎﺻﻠﻪ ﺧﻂ ﺟﺪﯾﺪ را ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ دو ﺑﺎر ﯾﺎ ﭼﻨﺪ ﺑﺎر ﮐﻪ ﻻزم اﺳﺖ
دو ﺑﺮاﺑﺮ ﮐﻨﯿﻢ.
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ' \ r ' - return carriageﺑﺎ ﺗﻔﺴﯿﺮ ' backspace ' -eﺑﺮاي ﺑﺎزده ﻣﻮردﻧﻈﺮ در ﺧﺮوﺟﯽ
ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ.
"$ echo -e " hosein \ Community of Nerds Linux
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ' ' \ cﺳﺮﺑﺮگ ﺧﻂ ﺟﺪﯾﺪي را ﺑﺎ ﺗﻔﺴﯿﺮ ' backspace ' -eﺑﺮاي ﺟﻠﻮﮔﯿﺮي از اﻧﺘﺸﺎر ﺧﻂ ﺟﺪﯾﺪ
اداﻣﻪ ﻣﯽ دﻫﺪ.
"اﺳﺖ $ echo -e " hosein Community / cof Linux Nerds
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ' \ a ' -ﺑﺎزﮔﺸﺖ ﻫﺸﺪار ﺑﺎ ﺗﻔﺴﯿﺮ ' backspace ' -eﺑﺮاي ﻫﺸﺪار ﺻﺪا.
ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ :ﻗﺒﻞ از اﯾﻨﮑﻪ ﺷﻠﯿﮏ ﮐﻨﯿﺪ ،ﻣﻄﻤﺌﻦ ﺷﻮﯾﺪ ﮐﻠﯿﺪ Volumeرا ﺑﺮرﺳﯽ ﮐﻨﯿﺪ.
ﺗﻤﺎم ﻓﺎﯾﻞ ﻫﺎ /ﭘﻮﺷﻪ را ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر ) echo (ls command alternativeﭼﺎپ ﮐﻨﯿﺪ.
* $ echo
103.odt 103.pdf 104.odt 104.pdf 105.odt 105.pdf 106.odt 106.pdf 107.odt 107.pdf
108a.odt 108.odt 108.pdf 109.odt 109.pdf 110b.odt 110. odt 110.pdf 111.odt 111.pdf
112.odt 112.pdf 113.odt linux-headers-3.16.0-customkernel_1_amd64.deb linux-image-
3.16.0-customkernel_1_amd64.deb network.jpeg
ﻓﺎﯾﻠﻬﺎي ﯾﮏ ﻧﻮع ﺧﺎص را ﭼﺎپ ﮐﻨﯿﺪ.ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،ﻓﺮض ﮐﻨﯿﺪ ﺷﻤﺎ ﻣﯿﺨﻮاﻫﯿﺪ ﺗﻤﺎم ﻓﺎﯾﻠﻬﺎي .jpegرا ﭼﺎپ ﮐﻨﯿﺪ،
از دﺳﺘﻮر زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
83
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 84
ﻓﺮﻣﺎن ejectﺑﺮاي از ﺑﯿﻦ ﺑﺮدن رﺳﺎﻧﻪ ﻫﺎﯾﯽ ﻣﺎﻧﻨﺪ DVD / CD ROMﯾﺎ ﻓﻼﭘﯽ دﯾﺴﮏ از systemاﺳﺘﻔﺎده
ﻣﯽ ﺷﻮد.
$ eject / dev / cdrom
$ eject / mnt / cdrom /
$ eject / dev / sda
ﻓﺮﻣﺎنenv
دﺳﺘﻮر envﻟﯿﺴﺖ ﺗﻤﺎم ﻣﺘﻐﯿﺮﻫﺎي ﻣﺤﯿﻂ ﻓﻌﻠﯽ را ﻧﺸﺎن ﻣﯽ دﻫﺪ و ﺑﺮاي ﺗﻨﻈﯿﻢ آﻧﻬﺎ ﻧﯿﺰ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ env
ﻧﺤﻮه اﺳﺘﻔﺎده از ﻓﺮﻣﺎن " "findﺑﺮاي ﺟﺴﺘﺠﻮ ﺑﺮاي ﻧﺎم ﻓﺎﯾﻞ ﻫﺎي ﭼﻨﺪﮔﺎﻧﻪ )ﭘﺴﻮﻧﺪ( در linux
ﭼﻨﺪﯾﻦ ﺑﺎر ،ﻣﺎ در ﻣﻮﻗﻌﯿﺘﯽ ﻗﺮار دارﯾﻢ ﮐﻪ در آن ﻣﺎ ﺑﺎﯾﺪ ﭼﻨﺪﯾﻦ ﻓﺎﯾﻞ ﺑﺎ ﭘﺴﻮﻧﺪ ﻫﺎي ﻣﺨﺘﻠﻒ را ﺟﺴﺘﺠﻮ ﮐﻨﯿﻢ ،اﯾﻦ
اﺣﺘﻤﺎﻻ ﺑﻪ ﭼﻨﺪﯾﻦ ﮐﺎرﺑﺮ linuxﺧﺼﻮﺻﺎ در داﺧﻞ ﺗﺮﻣﯿﻨﺎل رخ داده اﺳﺖ .ﭼﻨﺪﯾﻦ اﺑﺰار linuxوﺟﻮد دارد ﮐﻪ ﻣﺎ ﻣﯽ
ﺗﻮاﻧﯿﻢ از آﻧﻬﺎ ﺑﺮاي ﯾﺎﻓﺘﻦ ﯾﺎ findﻓﺎﯾﻞ ﻫﺎ در systemﻓﺎﯾﻞ اﺳﺘﻔﺎده ﮐﻨﯿﻢ ،اﻣﺎ findﻧﺎم ﻓﺎﯾﻞ ﻫﺎي ﻣﺘﻌﺪد و ﯾﺎ ﻓﺎﯾﻞ
ﻫﺎي ﺑﺎ ﭘﺴﻮﻧﺪ ﻫﺎي ﻣﺨﺘﻠﻒ ﮔﺎﻫﯽ اوﻗﺎت ﻣﯽ ﺗﻮاﻧﺪ ﭘﯿﭽﯿﺪه و ﻧﯿﺎز ﺑﻪ دﺳﺘﻮرات ﺧﺎص.
84
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 85
85
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 86
دﺳﺘﻮر find
linuxﯾﺎﻓﺘﻦ ﻓﺮﻣﺎن ﯾﮑﯽ از ﻣﻬﻢ ﺗﺮﯾﻦ و ﺑﺴﯿﺎر ﻣﻮرد اﺳﺘﻔﺎده در دﺳﺘﻮرات linuxاﺳﺖ.دﺳﺘﻮر ﺟﺴﺘﺠﻮ ﺑﺮاي
ﺟﺴﺘﺠﻮ و ﻗﺮار دادن ﻟﯿﺴﺖ ﻓﺎﯾﻞ ﻫﺎ و داﯾﺮﮐﺘﻮري ﻫﺎ ﺑﺮ اﺳﺎس ﺷﺮاﯾﻄﯽ ﮐﻪ ﺑﺮاي ﻓﺎﯾﻞ ﻫﺎﯾﯽ ﮐﻪ ﺑﺎ اﺳﺘﺪﻻل ﻣﻄﺎﺑﻘﺖ
دارﻧﺪ ﺗﻌﯿﯿﻦ ﻣﯽ ﮐﻨﯿﺪ .findرا ﻣﯽ ﺗﻮان در ﺷﺮاﯾﻂ ﻣﺨﺘﻠﻒ ﻣﺎﻧﻨﺪ ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﻓﺎﯾﻞ ﻫﺎي ﻣﺠﻮز ،ﮐﺎرﺑﺮان ،ﮔﺮوه ﻫﺎ
،ﻧﻮع ﻓﺎﯾﻞ ،ﺗﺎرﯾﺦ ،اﻧﺪازه و ﺳﺎﯾﺮ ﻣﻌﯿﺎرﻫﺎي ﻣﻤﮑﻦ را ﭘﯿﺪا ﮐﻨﯿﺪ.
35ﻣﺜﺎل
ﻗﺴﻤﺖ اول -دﺳﺘﻮراﻟﻌﻤﻞ اﺳﺎﺳﯽ ﺑﺮاي ﯾﺎﻓﺘﻦ ﻓﺎﯾﻞ ﺑﺎ ﻧﺎم
1. findﻓﺎﯾﻞ ﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از ﻧﺎم در داﯾﺮﮐﺘﻮري ﻓﻌﻠﯽ
ﺗﻤﺎم ﻓﺎﯾﻞ ﻫﺎﯾﯽ ﮐﻪ ﻧﺎم آن hosein .txtرا در ﯾﮏ داﯾﺮﮐﺘﻮري ﮐﺎري ﻓﻌﻠﯽ ﭘﯿﺪا ﮐﻨﯿﺪ ﭘﯿﺪا ﮐﻨﯿﺪ.
# find .-name hosein .txt
86
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 87
87
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 88
ﺗﻤﺎم ﻓﺎﯾﻠﻬﺎي bit SGIDﮐﻪ ﻣﺠﻮزﻫﺎ آﻧﻬﺎ 644اﺳﺖ ﺗﻨﻈﯿﻢ ﺷﺪه را ﭘﯿﺪا ﮐﻨﯿﺪ.
# find / -perm 2644
10.ﯾﺎﻓﺘﻦ ﻓﺎﯾﻞ ﻫﺎي bitﺑﺎ 551ﻣﺠﻮز
ﺗﻤﺎم ﻓﺎﯾﻞ ﻫﺎي ﻣﺠﻤﻮﻋﻪ Sticky Bitرا ﮐﻪ اﺟﺎزه دارﻧﺪ 551ﭘﯿﺪا ﮐﻨﯿﺪ ﭘﯿﺪا ﮐﻨﯿﺪ.
# find / -perm 1551
11.ﻓﺎﯾﻞ ﻫﺎي SUIDرا ﭘﯿﺪا ﮐﻨﯿﺪ
ﻫﻤﻪ ﻓﺎﯾﻞ ﻫﺎي SUIDرا ﭘﯿﺪا ﮐﻨﯿﺪ.
# find / -perm / u = s
12. findﻓﺎﯾﻞ ﻫﺎيSGID
findﺗﻤﺎم ﻓﺎﯾﻞ ﻫﺎي ﻣﺠﻤﻮﻋﻪ SGID .
# find / -perm / g = s
13.ﻓﻘﻂ ﻓﺎﯾﻞ ﻫﺎي ﻗﺎﺑﻞ ﺧﻮاﻧﺪن را ﭘﯿﺪا ﮐﻨﯿﺪ
ﻫﻤﻪ ﻓﺎﯾﻠﻬﺎي ﻓﻘﻂ ﺧﻮاﻧﺪه ﺷﺪه را ﭘﯿﺪا ﮐﻨﯿﺪ
# find / -perm / u = r
14.ﯾﺎﻓﺘﻦ ﻓﺎﯾﻞ ﻫﺎي اﺟﺮاﯾﯽ
ﻫﻤﻪ ﻓﺎﯾﻠﻬﺎي اﺟﺮاﯾﯽ را ﭘﯿﺪا ﮐﻨﯿﺪ
# find / -perm / a = x
15.ﻓﺎﯾﻞ ﻫﺎ را ﺑﺎ 777ﻣﺠﻮز و Chmodﺑﻪ 644ﭘﯿﺪا ﮐﻨﯿﺪ
findﺗﻤﺎم ﭘﺮوﻧﺪه ﻫﺎي 777اﺟﺎزه و اﺳﺘﻔﺎده از دﺳﺘﻮر chmodﺑﺮاي ﺗﻨﻈﯿﻢ ﻣﺠﻮز ﻫﺎ ﺑﻪ 644 .
؛\ }{ # find / -type f -perm 0777 -print -exec chmod 644
16.ﯾﺎﻓﺘﻦ راﻫﻨﻤﺎﻫﺎ ﺑﺎ ﻣﺠﻮز 777و Chmodﺑﻪ 755
findﺗﻤﺎم 777اﺟﺎزه داﯾﺮﮐﺘﻮري و اﺳﺘﻔﺎده از دﺳﺘﻮر chmodﺑﺮاي ﺗﻨﻈﯿﻢ ﻣﺠﻮز ﺑﻪ 755 .
؛\ }{ # find / -type d -perm 777 -print -exec chmod 755
17. findو ﺣﺬف ﺗﮏ ﻓﺎﯾﻞ
ﺑﺮاي findﯾﮏ ﻓﺎﯾﻞ ﺑﻪ ﻧﺎم hosein .txtو ﺣﺬف آن.
؛\ }{ # find .-type f -name " hosein .txt" -exec rm -f
18.ﻓﺎﯾﻞ ﭼﻨﺪﮔﺎﻧﻪ را ﭘﯿﺪا ﮐﻨﯿﺪ و ﺣﺬف ﮐﻨﯿﺪ
ﺑﺮاي findو ﺣﺬف ﭼﻨﺪﯾﻦ ﻓﺎﯾﻞ ﻣﺎﻧﻨﺪ .mp3ﯾﺎ ،.txtﺳﭙﺲ از آن اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
؛\ }{ # find .-type f -name "* .txt" -exec rm -f
88
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 89
ﯾﺎ
89
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 90
90
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 91
91
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 92
از ﺷﻤﺎ ﻣﯽ ﺧﻮاﻫﻢ ﻧﺘﯿﺠﻪ ﻓﻮق را در ﻓﺮﻣﺖ ﻗﺎﺑﻞ ﺧﻮاﻧﺪن اﻧﺴﺎن ﻧﻤﺎﯾﺶ دﻫﯿﺪ.ﯾﻌﻨﯽ ﺷﻤﺎ ﻣﻤﮑﻦ اﺳﺖ ﺑﺨﻮاﻫﯿﺪ
ﺑﺰرﮔﺘﺮﯾﻦ ﻓﺎﯾﻞ ﻫﺎ را در MB ،KBﯾﺎ GBﻧﻤﺎﯾﺶ دﻫﯿﺪ.
# du -hs * | sort -rh |head 5
دﺳﺘﻮر ﺑﺎﻻ داﯾﺮﮐﺘﻮري ﻫﺎي ﺑﺎﻻ را ﻧﺸﺎن ﻣﯽ دﻫﺪ ﮐﻪ ﻓﻀﺎي دﯾﺴﮏ ﺑﯿﺸﺘﺮي دارﻧﺪ.اﮔﺮ اﺣﺴﺎس ﻣﯽ ﮐﻨﯿﺪ ﮐﻪ ﺑﺮﺧﯽ از
داﯾﺮﮐﺘﻮري ﻫﺎ ﻣﻬﻢ ﻧﯿﺴﺘﻨﺪ ،ﻣﯽ ﺗﻮاﻧﯿﺪ ﺑﻪ ﺳﺎدﮔﯽ ﭼﻨﺪ زﯾﺮ داﯾﺮﮐﺘﻮري را ﺣﺬف ﮐﻨﯿﺪ ﯾﺎ ﮐﻞ ﭘﻮﺷﻪ را ﺑﺮاي آزاد ﮐﺮدن
ﻓﻀﺎي emptyﭘﺎك ﮐﻨﯿﺪ.
ﺑﺮاي ﻧﻤﺎﯾﺶ ﺑﺰرﮔﺘﺮﯾﻦ ﭘﻮﺷﻪ ﻫﺎ /ﻓﺎﯾﻞ ﻫﺎ از ﺟﻤﻠﻪ زﯾﺮ ﺷﺎﺧﻪ ﻫﺎ ،اﺟﺮا ﮐﻨﯿﺪ:
# du -Sh | sort -rh |head 5
92
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 93
اﮔﺮ ﻣﯽ ﺧﻮاﻫﯿﺪ ﺑﺰرﮔﺘﺮﯾﻦ اﻧﺪازه ﻓﺎﯾﻞ را ﻧﻤﺎﯾﺶ دﻫﯿﺪ ،ﺳﭙﺲ دﺳﺘﻮر زﯾﺮ را اﺟﺮا ﮐﻨﯿﺪ:
# find-type f -exec du -Sh {} + | sort -rh |head -n 5
ﯾﺎ
-n 5ﺳﺮ| # find / home / hosein / Downloads / -type f -printf "٪s٪p \ n" | sort-rn
93
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 94
دﺳﺘﻮر free
اﺳﺘﻔﺎده از ،free) system memoryاﺳﺘﻔﺎده ﺷﺪه ،ﻣﺒﺎدﻟﻪ ﺷﺪه ،ذﺧﯿﺮه ﺳﺎزي ،و ﻏﯿﺮه( در systemﺷﺎﻣﻞ ﻓﻀﺎي
swapاﺳﺖ.از ﮔﺰﯾﻨﻪ -hﺑﺮاي ﻧﻤﺎﯾﺶ ﺧﺮوﺟﯽ در ﻓﺮﻣﺖ دوﺳﺘﺎﻧﻪ اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
$ free -h
linuxﯾﮑﯽ از ﻣﺤﺒﻮب ﺗﺮﯾﻦ systemﻋﺎﻣﻞ ﻫﺎي ﻣﻨﺒﻊ ﺑﺎز اﺳﺖ و داراي ﻣﺠﻤﻮﻋﻪ اي از دﺳﺘﻮرات اﺳﺖ.ﻣﻬﻤﺘﺮﯾﻦ و
ﺗﻨﻬﺎ روش ﺗﻌﯿﯿﻦ ﻓﻀﺎي ﻣﻮﺟﻮد در memoryﻓﯿﺰﯾﮑﯽ و memoryﻣﺒﺎدﻟﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻓﺮﻣﺎن " " freeاﺳﺖ.
دﺳﺘﻮر " free " linuxاﻃﻼﻋﺎﺗﯽ در ﻣﻮرد ﻓﻀﺎي ﻣﻮرد اﺳﺘﻔﺎده و ﻓﻀﺎي ﻣﻮﺟﻮد ﻓﻀﺎي memoryو ﻣﺒﺎدﻟﻪ
memoryرا ﺑﺎ ﺑﺎﻓﺮ ﻫﺎﯾﯽ ﮐﻪ ﻫﺴﺘﻪ در / linuxﯾﻮﻧﯿﮑﺲ ﻣﺎﻧﻨﺪ systemﻋﺎﻣﻞ دارﻧﺪ اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﺪ.
2.ﻧﻤﺎﯾﺶ memoryدرBytes
ﻓﺮﻣﺎن آزاد ﺑﺎ ﮔﺰﯾﻨﻪ -bﻧﻤﺎﯾﺶ اﻧﺪازه memoryدر Bytes .
# free -b
94
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 95
6.ﻧﻤﺎﯾﺶ ﮐﻞ ﺧﻂ
ﻓﺮﻣﺎن آزاد ﺑﺎ ﮔﺰﯾﻨﻪ ،-tﮐﻞ ﺧﻂ در اﻧﺘﻬﺎي ﻟﯿﺴﺖ را ﻟﯿﺴﺖ ﻣﯽ ﮐﻨﺪ.
# free -t
ﻣﺠﻤﻮع اﺳﺘﻔﺎده از ﺑﺎﻓﺮ ﻫﺎي ﺑﻪ اﺷﺘﺮاك ﮔﺬاﺷﺘﻪ ﺷﺪه ﺑﺎ اﺳﺘﻔﺎده ازcached
95
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 96
ﻫﻤﺎﻧﻨﺪ ﻫﺮ systemﻋﺎﻣﻞ دﯾﮕﺮ linux / gnu ،ﻣﺪﯾﺮﯾﺖ memoryرا ﺑﻪ ﺻﻮرت ﻣﻮﺛﺮ و ﺣﺘﯽ ﺑﯿﺸﺘﺮ از آن اﺟﺮا
ﮐﺮده اﺳﺖ.اﻣﺎ اﮔﺮ ﻓﺮاﯾﻨﺪ memoryﺧﻮد را از ﺑﯿﻦ ﺑﺒﺮد و ﺷﻤﺎ ﻣﯽ ﺧﻮاﻫﯿﺪ آن را ﭘﺎك ﮐﻨﯿﺪ linux ،راﻫﯽ ﺑﺮاي ﭘﺎك
ﮐﺮدن ﯾﺎ ﭘﺎك ﮐﺮدن memoryﮐﺶ اﺳﺖ.
ﭘﺲ از ﺗﺴﺖ ﻫﺮ دو دﺳﺘﻮر ﻓﻮق ،ﻓﺮﻣﺎن " " free -hرا ﻗﺒﻞ و ﺑﻌﺪ از اﺟﺮاي اﺳﮑﺮﯾﭙﺖ اﺟﺮا ﺧﻮاﻫﯿﻢ ﮐﺮد و cacheرا
ﺑﺮرﺳﯽ ﺧﻮاﻫﯿﻢ ﮐﺮد.
96
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 97
97
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 98
:ﺑﺎ اﺻﻼح ﺗﻐﯿﯿﺮ ﻣﯽ ﮐﻨﺪhost ﻧﺎم،اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﻨﺪinit ﮐﻪ ازRHEL / CentOS ﻫﺎي ﻣﺒﺘﻨﯽ ﺑﺮsystem در
# vi / etc / sysconfig / network
:در اﯾﻨﺠﺎ ﯾﮏ ﻧﻤﻮﻧﻪ از آن ﻓﺎﯾﻞ وﺟﻮد دارد
/ etc / sysconfig / network
NETWORKING = yes
HOSTNAME = " hosein .com"
GATEWAY = "192.168.0.1"
GATEWAYDEV = "eth0"
FORWARD_IPV4 = "yes"
.ﺧﻮد ﺗﻐﯿﯿﺮ دﻫﯿﺪhost "ﺑﻪ ﯾﮑﯽ از ﻧﺎمHOSTNAME" ﻣﻘﺪار در ﮐﻨﺎر،داﺋﻤﯽhost ﺑﺮاي ﻧﮕﻪ داﺷﺘﻦ ﻧﺎم
98
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 99
ﻓﺮﻣﺎن cpuidاﻃﻼﻋﺎت ﮐﺎﻣﻠﯽ از( CPUﻫﺎ( ﺟﻤﻊ آوري ﺷﺪه از دﺳﺘﻮر CPUIDرا ﺗﺨﻠﯿﻪ ﻣﯽ ﮐﻨﺪ و ﻫﻤﭽﻨﯿﻦ
ﻣﺪل دﻗﯿﻖ ﭘﺮدازﻧﺪه ﻫﺎي x86از آن اﻃﻼﻋﺎت را ﮐﺸﻒ ﻣﯽ ﮐﻨﺪ.
اﻃﻤﯿﻨﺎن ﺣﺎﺻﻞ ﮐﻨﯿﺪ ﻗﺒﻞ از اﺟﺮاي آن installﮐﻨﯿﺪ.
$ sudo apt install cpuid
$ sudo yum install cpuid
$ sudo dnf install cpuid
ﭘﺲ از cpuid ،installرا اﺟﺮا ﮐﻨﯿﺪ ﺗﺎ اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﭘﺮدازﻧﺪه x86را ﺟﻤﻊ آوري ﮐﻨﯿﺪ.
$ cpuid
.دﺳﺘﻮر dmidecode -اﻃﻼﻋﺎت linuxﺳﺨﺖ اﻓﺰار را ﻧﺸﺎن ﻣﯽ دﻫﺪ
dmidecodeﯾﮏ اﺑﺰار ﺑﺮاي ﺑﺎزﯾﺎﺑﯽ اﻃﻼﻋﺎت ﺳﺨﺖ اﻓﺰاري ﻫﺮ linux systemاﺳﺖ.اﯾﻦ ﻣﺤﺘﻮﯾﺎت ﺟﺪول DMI
ﮐﺎﻣﭙﯿﻮﺗﺮ )ﻣﻌﺮوف ﺑﻪ ) SMBIOSرا در ﻓﺮﻣﺖ ﻗﺎﺑﻞ ﺧﻮاﻧﺪن اﻧﺴﺎن ﺑﺮاي ﺑﺎزﯾﺎﺑﯽ آﺳﺎن ﻣﯽ ﮔﯿﺮد.ﻣﺸﺨﺼﺎت
SMBIOSاﻧﻮاع ﻣﺨﺘﻠﻒ DMIرا ﺑﺮاي ﭘﺮدازﻧﺪه ﺗﻌﺮﯾﻒ ﻣﯽ ﮐﻨﺪ و از ﭘﺮدازﻧﺪه ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﺪ:
$ sudo dmidecode -ﻧﻮع ﭘﺮدازﻧﺪه
اﻃﻼﻋﺎت ﺳﺨﺖ اﻓﺰاري linuxرا ﻧﺸﺎن ﻣﯽ دﻫﺪ
# dmidecode 3.0
99
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 100
Inxi Tool
Inxiﯾﮏ اﺳﮑﺮﯾﭙﺖ اﻃﻼﻋﺎﺗﯽ ﻗﺪرﺗﻤﻨﺪ systemﺧﻂ ﻓﺮﻣﺎن در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه ﺑﺮاي ﮐﻨﺴﻮل و IRC (Chat
)Relay Relayاﺳﺖ.ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ از آن ﺑﺮاي ﻓﻮرا ﺑﺎزﯾﺎﺑﯽ اﻃﻼﻋﺎت ﺳﺨﺖ اﻓﺰاري اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺑﻪ ﺻﻮرت زﯾﺮ installﮐﻨﯿﺪ:
$ sudo apt install inxi
$ sudo yum install inxi
$ sudo dnf install inxi
ﺑﺮاي ﻧﺸﺎن دادن اﻃﻼﻋﺎت CPUﮐﺎﻣﻞ ،از ﺟﻤﻠﻪ در ﻫﺮ ﺳﺮﻋﺖ CPUﺳﺮﻋﺖ و ﺳﺮﻋﺖ ﺣﺪاﮐﺜﺮ( CPUدر ﺻﻮرت
ﻣﻮﺟﻮد ﺑﻮدن( ،از ﭘﺮﭼﻢ -Cﺑﻪ ﻋﻨﻮان زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ:
$ inxi -C
اﻃﻼﻋﺎت linux systemرا ﭼﺎپ ﮐﻨﯿﺪ
ﭘﺮدازﻧﺪه :دو ﻫﺴﺘﻪ ايIntel Core i5-4210U (-HT-MCP-) cache: 3072 KB
ﺳﺮﻋﺖ ﺳﺎﻋﺖ :ﺣﺪاﮐﺜﺮ 2700 :ﻣﮕﺎﻫﺮﺗﺰ 1958 :1ﻣﮕﺎﻫﺮﺗﺰ 1993 :2ﻣﮕﺎﻫﺮﺗﺰ 1775 :3ﻣﮕﺎﻫﺮﺗﺰ 1714 :4ﻣﮕﺎﻫﺮﺗﺰ
100
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 101
101
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 102
102
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 103
nproc
دﺳﺘﻮر nprocﺑﺮاي ﻧﺸﺎن دادن ﺗﻌﺪاد ﭘﺮدازﻧﺪه ﻣﻮﺟﻮد در راﯾﺎﻧﻪ ﺷﻤﺎ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد:
$ nproc
ﺑﺮاي اﻃﻼﻋﺎت ﺑﯿﺸﺘﺮ و ﮔﺰﯾﻨﻪ ﻫﺎي اﺳﺘﻔﺎده ،از ﻃﺮﯾﻖ ﺻﻔﺤﺎت ﻣﺮداﻧﻪ اﯾﻦ دﺳﺘﻮرات ﻣﺎﻧﻨﺪ اﯾﻦ را ﺑﺨﻮاﻧﯿﺪ:
$ man commandname
103
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 104
Cpustat
اﺳﺘﻔﺎده از CPUرا ﺑﺎ ﻓﺮآﯾﻨﺪﻫﺎي در ﺣﺎل اﺟﺮا در linux
Cpustatﯾﮏ ﺑﺮﻧﺎﻣﻪ ﻗﺪرﺗﻤﻨﺪ ﺑﺮاي اﻧﺪازه ﮔﯿﺮي ﻋﻤﻠﮑﺮد systemﺑﺮاي linuxاﺳﺖ ﮐﻪ ﺑﺎ اﺳﺘﻔﺎده از زﺑﺎن ﺑﺮﻧﺎﻣﻪ
ﻧﻮﯾﺴﯽ Goﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ .اﯾﻦ ﺗﻼش ﺑﺮاي ﻧﺸﺎن دادن اﺳﺘﻔﺎده از CPUو اﺷﺒﺎع در ﯾﮏ روش ﻣﻮﺛﺮ ،ﺑﺎ اﺳﺘﻔﺎده از
روش اﺷﺒﺎع و ﺧﻄﺎﻫﺎي اﺳﺘﻔﺎده( ) (USEروش ﺑﺮاي ﺗﺠﺰﯾﻪ و ﺗﺤﻠﯿﻞ ﻋﻤﻠﮑﺮد ﻫﺮ system).
اﯾﻦ ﻧﻤﻮﻧﻪ ﻫﺎي ﻓﺮﮐﺎﻧﺲ ﺑﺎﻻﺗﺮ از ﻫﺮ ﻓﺮآﯾﻨﺪي ﮐﻪ در systemاﺟﺮا ﻣﯽ ﺷﻮد را اﺳﺘﺨﺮاج ﻣﯽ ﮐﻨﺪ و ﺳﭙﺲ اﯾﻦ ﻧﻤﻮﻧﻪ
ﻫﺎ را ﺑﺎ ﻓﺮﮐﺎﻧﺲ ﭘﺎﯾﯿﻦ ﺗﺮ ﺧﻼﺻﻪ ﻣﯽ ﮐﻨﺪ.ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،ﻣﯽ ﺗﻮاﻧﺪ ﻫﺮ ﻓﺮاﯾﻨﺪ را ﻫﺮ 200msاﻧﺪازه ﮔﯿﺮي ﮐﻨﺪ و ﻫﺮ
5ﺛﺎﻧﯿﻪ اﯾﻦ ﻧﻤﻮﻧﻪ ﻫﺎ را ﺧﻼﺻﻪ ﮐﻨﺪ ،از ﺟﻤﻠﻪ ﻣﻘﺎدﯾﺮ min / average / maxﺑﺮاي ﻣﻌﯿﺎرﻫﺎي ﺧﺎص.
داده ﻫﺎي ﺧﺮوﺟﯽ Cpustatرا ﺑﻪ دو روش ﻣﻤﮑﻦ اراﺋﻪ ﻣﯽ دﻫﺪ :ﯾﮏ ﻟﯿﺴﺖ ﺧﺎﻟﺺ ﻣﺘﻦ از ﻓﺎﺻﻠﻪ ﺧﻼﺻﻪ و داﺷﺒﻮرد
ﭘﯿﻤﺎﯾﺶ رﻧﮕﯽ ﻫﺮ ﻧﻤﻮﻧﻪ.
ﻧﺤﻮه install Cpustatدر linuxﺑﻪ ادرس زﯾﺮ ﻣﺮاﺟﻌﻪ ﻧﻤﺎﯾﯿﺪ.
github.com/uber-common/cpustat
104
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 105
105
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 106
ﺑﺮرﺳﯽ ﻓﺮآﯾﻨﺪﻫﺎي ﺑﺎﻻ ﻣﺮﺗﺐ ﺷﺪه ﺑﺮ اﺳﺎس RAMﯾﺎ CPU Usageدر linux
دﺳﺘﻮر زﯾﺮ ﻟﯿﺴﺘﯽ از ﻓﺮآﯾﻨﺪﻫﺎي ﺑﺎﻻ را ﺑﻪ ﺗﺮﺗﯿﺐ ﺑﺎ اﺳﺘﻔﺎده از RAMو CPUدر ﻧﺴﻞ ﺑﻌﺪي ﻧﺸﺎن ﻣﯽ دﻫﺪ )اﮔﺮ
ﺑﺨﻮاﻫﯿﺪ ﻟﯿﺴﺖ ﮐﺎﻣﻞ را ﺑﺒﯿﻨﯿﺪ ﺧﻂ ﻟﻮﻟﻪ و ﺳﺮ را ﺑﺮدارﯾﺪ):
# ps -eo pid ،ppid ،cmd٪،mem٪،cpu --sort = -٪mem |head
ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ
106
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 107
I-Nex
ﯾﮏ اﺑﺰار ﭘﯿﺸﺮﻓﺘﻪ ﺑﺮاي ﺟﻤﻊ آوري اﻃﻼﻋﺎت / systemﺳﺨﺖ اﻓﺰار در linux
ﻋﻼوه ﺑﺮ اﯾﻦ ﻣﺎ ﻫﻤﭽﻨﯿﻦ ﻣﯽ ﺗﻮاﻧﯿﻢ ﮔﺰارش ﭘﯿﺸﺮﻓﺘﻪ اي ﺗﻮﻟﯿﺪ ﮐﻨﯿﻢ و ﺻﻔﺤﻪ اي از ﻫﺮ ﺑﺮگ را ﭼﺎپ ﮐﻨﯿﻢ.اﺑﺰار I-
Nexﺟﺰﺋﯿﺎت را ﺑﻪ ﺻﻮرت ﺳﺎزﻣﺎن ﯾﺎﻓﺘﻪ و ﻫﻤﭽﻨﯿﻦ زﻣﺎن واﻗﻌﯽ CPUو اﺳﺘﻔﺎده از memoryرا ﻧﺸﺎن ﻣﯽ دﻫﺪ.
وﯾﮋﮔﯽ ﻫﺎيI-Nex
اﻃﻼﻋﺎت ﭘﺮدازﻧﺪه .1
اﻃﻼﻋﺎت ﮔﺮاﻓﯿﮑﯽ .2
ﺟﺰﺋﯿﺎت ﻣﺎدرﺑﺮد .3
ﺟﺰﺋﯿﺎت memory .4
ﺟﺰﺋﯿﺎت ﻧﺴﺨﻪ ﮐﺮﻧﻞ .5
اﻃﻼﻋﺎت ﺗﻮزﯾﻊ system linuxﻋﺎﻣﻞ linux .6
ﮔﺰارش ﺗﻮﻟﯿﺪ .7
اﯾﻦ ﮔﺰﯾﻨﻪ ﺑﺮاي ﮔﺮﻓﺘﻦ ﻋﮑﺲ از ﻫﺮ ﺗﺐ از ﺑﺮﻧﺎﻣﻪ ﮐﺎرﺑﺮدي اﺳﺖ. .8
ﻧﺎم hostsystem .9
install I-Nexدر ﻣﺸﺘﻘﺎت ubuntu
ﻣﺎ ﺑﺎﯾﺪ Gambas3 PP Aرا ﺑﺮاي I-Nex installدر ubuntuاﺿﺎﻓﻪ ﮐﻨﯿﻢ " ." Gambasﻣﺨﻔﻒ ﺑﺎزﮔﺸﺘﯽ
ﺑﺮاي " Gambasﺗﻘﺮﯾﺒﺎ ﺑﻪ ﻣﻌﻨﯽ ﭘﺎﯾﻪ "اﺳﺖ.از دﺳﺘﻮرات زﯾﺮ ﺑﺮاي اﺿﺎﻓﻪ ﮐﺮدن ﻫﺮ دو PPAاﺳﺘﻔﺎده ﮐﻨﯿﺪ وI-
Nexرا در ﻣﺸﺘﻘﺎت install ubuntuﮐﻨﯿﺪ.
$ sudo add-apt-repository ppa: i-nex-development-team / stable
$ sudo add-apt-repository ppa: nemh / gambas3
$ sudo apt-get update
$ sudo apt-get install i-nex
107
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 108
ﺑﺮﺧﯽ از ﺗﺼﺎوﯾﺮI-Nex.
ﺷﺮوعI-Nex
اﻃﻼﻋﺎت ﭘﺮدازﻧﺪه
اﻃﻼﻋﺎت systemﻋﺎﻣﻞ linux
108
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 109
systemﻋﺎﻣﻞ linuxاﻃﻼﻋﺎت
اﻃﻼﻋﺎت ﻫﺴﺘﻪ اي
109
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 110
110
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 111
111
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 112
112
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 113
113
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 114
hwinfo
اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﻣﻮرد ﺳﺨﺖ اﻓﺰار را ﻧﺸﺎن ﻣﯽ دﻫﺪ
hwinfoﺑﺮاي اﺳﺘﺨﺮاج اﻃﻼﻋﺎت در ﻣﻮرد ﺳﺨﺖ اﻓﺰار ﻣﻮﺟﻮد در ﯾﮏ linux systemاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.ﺑﺮاي
ﻧﻤﺎﯾﺶ اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ CPUﺧﻮد از cpuاﺳﺘﻔﺎده ﮐﻨﯿﺪ
$ hwinfo - cpu
دﺳﺘﻮرid
ﻓﺮﻣﺎن idﻧﺸﺎن ﻣﯽ دﻫﺪ ﮐﻪ اﻃﻼﻋﺎت ﮐﺎرﺑﺮ و ﮔﺮوه ﺑﺮاي ﮐﺎرﺑﺮ ﻓﻌﻠﯽ ﯾﺎ ﻧﺎم ﮐﺎرﺑﺮي ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ ﮐﻪ در زﯾﺮ ﻧﺸﺎن
داده ﺷﺪه اﺳﺖ.
$ id hosein
114
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 115
HWaddr 00: 0B: CD: 1C: 18: 5Aاﺗﺮﻧﺖ eth0 Link encap:
inet addr: 172.16.25.126 Bcast: 172.16.25.63255.255.255.224 :
inet6 addr: fe80 :: 20b: cdff: fe1c: 185a / 64
UP BROADCAST RUNNING MULTICAST MTU: 1500
115
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 116
116
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 117
117
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 118
Munin -ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﻧﻈﺎرت ﺑﺮ ﺷﺒﮑﻪ و systemوب اﺳﺖ ﮐﻪ ﺑﺮاي ﻧﻤﺎﯾﺶ ﻧﺘﺎﯾﺞ در ﻧﻤﻮدار ﺑﺎ .4
اﺳﺘﻔﺎده از rrdtoolاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
Cacti -ﺑﺮﻧﺎﻣﻪ ﻧﻈﺎرت و ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﮐﺎﻣﻞ وب ﺑﺮاي ﻧﻈﺎرت ﺑﺮ ﺷﺒﮑﻪ اﺳﺖ. .5
ﺑﺮاي درﯾﺎﻓﺖ اﻃﻼﻋﺎت و ﮔﺰﯾﻨﻪ ﻫﺎي ﺑﯿﺸﺘﺮ ﺑﺮاي ﻫﺮ ﯾﮏ از اﺑﺰارﻫﺎي ﻓﻮق ،ﺑﺎ وارد ﮐﺮدن »ﻧﺎم اﺑﺰار ﻣﺮد »در ﺧﻂ
ﻓﺮﻣﺎنmanapages ،را ﺑﺒﯿﻨﯿﺪ.ﺑﺮاي ﻣﺜﺎل ،ﺑﺮاي درﯾﺎﻓﺖ اﻃﻼﻋﺎت ﺑﺮاي اﺑﺰار ،netstatاز دﺳﺘﻮر ﺑﻪ ﻋﻨﻮان " net
" netstatاﺳﺘﻔﺎده ﮐﻨﯿﺪ.
118
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 119
ﺗﮑﻪ ﺗﮑﻪ ﺷﺪه -ﻓﺎﯾﻞ را ﺑﺮاي ﻣﺨﻔﯽ ﮐﺮدن ﻣﺤﺘﻮﯾﺎت آن ﺑﺎزﻧﻮﯾﺴﯽ ﮐﻨﯿﺪ
119
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 120
120
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 121
121
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 122
sdmem
sdmemﭘﺎك ﮐﻨﻨﺪه memoryاﻣﻦ اﺳﺖ ،ﻃﺮاﺣﯽ ﺷﺪه اﺳﺖ ﮐﻪ داده ﻫﺎ ﻣﻮﺟﻮد در )memory (RAMﺷﻤﺎ را
ﺑﻪ ﺻﻮرت اﻣﻦ ﻣﺤﺎﻓﻈﺖ ﻣﯽ ﮐﻨﺪ.
اﺑﺘﺪا آن را ﺑﻪ ﻧﺎم ،smemاﻣﺎ ﺑﻪ دﻟﯿﻞ systemﻫﺎي ،Debainﯾﮏ ﺑﺴﺘﻪ دﯾﮕﺮ ﺑﻪ ﻧﺎم ﻣﺼﺮف memoryﮔﺰارش
ﺷﺪه در ﻫﺮ ﻓﺮاﯾﻨﺪ و ﺑﺮ اﺳﺎس ﮐﺎرﺑﺮ وﺟﻮد دارد ،ﺗﻮﺳﻌﻪ دﻫﻨﺪه ﺗﺼﻤﯿﻢ ﮔﺮﻓﺖ آن را ﺗﻐﯿﯿﺮ ﻧﺎم دﻫﺪ sdmem .
$ sudo sdmem -f -v
ﺑﺮاي اﻃﻼﻋﺎت ﺑﯿﺸﺘﺮ اﺳﺘﻔﺎده ،از ﻃﺮﯾﻖ ﺻﻔﺤﻪ man sdmemﺧﻮاﻧﺪن:
$ man sdmem
122
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 123
ﻣﺎﻧﯿﺘﻮرﯾﻨﮓ
اﯾﻦ ﺳﺮي ﻣﺎ در ﺣﺎل اﺟﺮا از دﺳﺘﻮرات و ﻣﺎﻧﯿﺘﻮرﯾﻨﮓ ﻋﻤﻠﮑﺮد در linuxاﺳﺖ.ﻫﺮ دو دﺳﺘﻮر Vmstatو Iostatدر
ﮐﻠﯿﻪ ي systemﻋﺎﻣﻞ ﻫﺎي ﯾﻮﻧﯿﮑﺲ ) ( Linux / Unix / FreeBSD / Solarisﻣﻮﺟﻮد ﻫﺴﺘﻨﺪ.
اﮔﺮ دﺳﺘﻮرات vmstatو iostatدر ﺟﻌﺒﻪ ﺷﻤﺎ ﻣﻮﺟﻮد ﻧﯿﺴﺖ ،ﻟﻄﻔﺎ ﺑﺴﺘﻪ sysstatرا installﮐﻨﯿﺪ.دﺳﺘﻮرات
sysstatﻫﺴﺘﻨﺪ -اﺑﺰار ﻧﻈﺎرت ﺑﺮ sar ،vmstatو iostatﻣﺠﻤﻮﻋﻪ اي از ﺑﺴﺘﻪ ﻫﺎي ﻣﻮﺟﻮد در
system.Iostatﮔﺰارﺷﺎت CPUو ﺗﻤﺎم آﻣﺎر دﺳﺘﮕﺎه را ﺗﻮﻟﯿﺪ ﻣﯽ ﮐﻨﺪ.ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ sysstatرا ﺑﺎ اﺳﺘﻔﺎده از
sourcot sourceاز sysstatﻟﯿﻨﮏ downloadو installﮐﻨﯿﺪ ،اﻣﺎ ﺗﻮﺻﯿﻪ ﻣﯽ ﮐﻨﯿﻢ از ﻃﺮﯾﻖ دﺳﺘﻮر
YUMinstallﮐﻨﯿﺪ.
ﻣﺎﻧﯿﺘﻮرﯾﻨﮓ ﻋﻤﻠﮑﺮد linuxﺑﺎ Vmstat
Sysstatرا در install linuxﮐﻨﯿﺪ
# yum-sysstatرا installﮐﻨﯿﺪ
vmstat -ﺧﻼﺻﻪ اﻃﻼﻋﺎت ، memoryﭘﺮدازش ،ﭘﯿﻤﺎﯾﺶ و ﻏﯿﺮه .1
IOSTAT -آﻣﺎر ﭘﺮدازش ﻣﺮﮐﺰي ) ( CPUو آﻣﺎر ورودي /ﺧﺮوﺟﯽ ﺑﺮاي دﺳﺘﮕﺎه ﻫﺎ و ﭘﺎرﺗﯿﺸﻦ .2
ﻫﺎ.
6ﻣﺜﺎل دﺳﺘﻮراﻟﻌﻤﻞ Vmstatدر linux
. 1ﻓﻬﺮﺳﺖ memoryﻓﻌﺎل و ﻏﯿﺮ ﻓﻌﺎل
در ﻣﺜﺎل زﯾﺮ ﺷﺶ ﺳﺘﻮن وﺟﻮد دارد.ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺳﺘﻮن ﻫﺎ در ﺻﻔﺤﻪ ﻣﺮد vmstatدر ﺟﺰﺋﯿﺎت ﺗﻮﺿﯿﺢ داده ﺷﺪه
اﺳﺖ.ﻣﻬﻢ ﺗﺮﯾﻦ زﻣﯿﻨﻪ ﻫﺎ ﺗﺤﺖ memoryو ﺳﯽ ﻫﺴﺘﻨﺪ ،ﺑﻨﺎﺑﺮاﯾﻦ در زﯾﺮ ﺳﺘﻮن ﻣﺒﺎدﻟﻪ.
[ root@ hosein ~] # vmstat -a
procs ---ﻣﺒﺎدﻟﻪ-- -- -- -- --- memory -- -- -- -- -- -- -- -- -- io --
-- --system -- -- --- CPU -- ---
cs us sy id wa stدر si so bi boﻓﻌﺎل rb swpd free inactive
1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
123
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 124
procs ---ﻣﺒﺎدﻟﻪ-- -- -- -- --- memory -- -- -- -- -- -- -- -- -- io --
-- --system -- -- --- CPU -- -- -- -
آﻣﺎر ﺷﻤﺎرﻧﺪه ﻫﺎي ﻣﺨﺘﻠﻒ
دﺳﺘﻮر vmstatو -sﺳﻮﺋﯿﭻ ﻧﻤﺎﯾﺶ ﺧﻼﺻﻪ ﺷﻤﺎرﻧﺪه ﻫﺎي روﯾﺪاد ﻫﺎي ﻣﺨﺘﻠﻒ و آﻣﺎر memoryاﺳﺖ.
[ hosein @ hosein ~] $ vmstat -s
آﻣﺎر دﯾﺴﮏ
124
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 125
.ﻧﻤﺎﯾﺶ LVMآﻣﺎر
ﺑﺎ ﭘﺎراﻣﺘﺮ )-N (Uppercaseﺗﻨﻬﺎ آﻣﺎر LVMرا ﻧﺸﺎن ﻣﯽ دﻫﺪ.
[ root@ hosein ~] # iostat -N
.ﻧﺴﺨﻪIostat.
ﺑﺎ ﭘﺎراﻣﺘﺮ )-V (Uppercaseﭘﺎراﻣﺘﺮ iostatرا ﻧﺸﺎن ﻣﯽ دﻫﺪ.
[ root@ hosein ~] # iostat -V
125
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 126
دﺳﺘﻮر kill
ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ ﯾﮏ ﺑﺮﻧﺎﻣﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ ﭘﺎﺳﺨﯽ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﭼﮕﻮﻧﻪ از آن ﺧﻼص ﺷﻮﯾﺪ؟ ﺷﻤﺎ اﻟﺒﺘﻪ از دﺳﺘﻮر kill
اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﯿﺪ .ﺑﯿﺎﯾﯿﺪ اﯾﻦ را در xloadاﻣﺘﺤﺎن ﮐﻨﯿﻢ .ﺑﺮاي اﻧﺠﺎم اﯾﻦ ﮐﺎر ﻣﯽ ﺗﻮاﻧﯿﺪ از ﻫﺮ ﻣﺸﮑﻠﯽ ﯾﺎ psاﺳﺘﻔﺎده
ﮐﻨﯿﺪ .ﺑﺎ psﺷﻤﺎ ﯾﮏ ﺷﻨﺎﺳﻪ ﻓﺮآﯾﻨﺪ ) (PIDداده ﻣﯽ ﺷﻮد .ﻣﺎ ﻫﺮ دو روش را اﻧﺠﺎم ﺧﻮاﻫﯿﻢ داد:
126
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 127
ﺳﯿﮕﻨﺎل
ﻧﺎم ﺷﺮح
#
ﻫﻨﮕﺎﻣﯽ ﮐﻪ .ﻗﻄﻊ ﮐﺮدن ﺳﯿﮕﻨﺎل ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﻣﯽ ﺗﻮاﻧﻨﺪ ﺑﺮاي اﯾﻦ ﺳﯿﮕﻨﺎل ﮔﻮش دﻫﻨﺪ و ﺑﺮ آن ﻋﻤﻞ ﮐﻨﻨﺪ
SIGHUP 1
.ﺗﺮﻣﯿﻨﺎل را ﺑﺒﻨﺪﯾﺪ ،اﯾﻦ ﺳﯿﮕﻨﺎل ﺑﻪ ﻓﺮآﯾﻨﺪﻫﺎي در ﺣﺎل اﺟﺮا در ﯾﮏ ﺗﺮﻣﯿﻨﺎل ارﺳﺎل ﻣﯽ ﺷﻮد
ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﻣﯽ ﺗﻮاﻧﻨﺪ اﯾﻦ .ﺳﯿﮕﻨﺎل وﻗﻔﻪ اﯾﻦ ﺳﯿﮕﻨﺎل ﺑﻪ ﻓﺮآﯾﻨﺪﻫﺎ داده ﻣﯽ ﺷﻮد ﺗﺎ آﻧﻬﺎ را ﻗﻄﻊ ﮐﻨﻨﺪ
ﺷﻤﺎ ﻫﻤﭽﻨﯿﻦ ﻣﯽ ﺗﻮاﻧﯿﺪ اﯾﻦ ﺳﯿﮕﻨﺎل را ﺑﻪ ﻃﻮر ﻣﺴﺘﻘﯿﻢ ﺑﺎ .ﺳﯿﮕﻨﺎل را ﭘﺮدازش ﮐﻨﻨﺪ و ﺑﺮ آن ﻋﻤﻞ ﮐﻨﻨﺪ SIGINT 2
.در ﭘﻨﺠﺮه ﺗﺮﻣﯿﻨﺎل ﮐﻪ در آن ﺑﺮﻧﺎﻣﻪ اﺟﺮا ﻣﯽ ﺷﻮد را ﺻﺎدر ﮐﻨﯿﺪ Ctrl-cﺗﺎﯾﭗ ﮐﺮدن
دوﺑﺎره ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﻣﯽ .ﺳﯿﮕﻨﺎل ﺧﺎﺗﻤﻪ دادن اﯾﻦ ﺳﯿﮕﻨﺎل ﺑﻪ ﻓﺮآﯾﻨﺪﻫﺎ داده ﻣﯽ ﺷﻮد ﺗﺎ آﻧﻬﺎ را ﺧﺎﺗﻤﻪ دﻫﺪ
SIGTERMاﮔﺮ ﺳﯿﮕﻨﺎل ﻣﺸﺨﺺ ﻧﺸﺪه ﺑﺎﺷﺪ ،اﯾﻦ ﺳﯿﮕﻨﺎل ﺑﻪ .ﺗﻮاﻧﻨﺪ اﯾﻦ ﺳﯿﮕﻨﺎل را ﭘﺮدازش ﮐﻨﻨﺪ و ﺑﺮ آن ﻋﻤﻞ ﮐﻨﻨﺪ 15
.ارﺳﺎل ﻣﯽ ﺷﻮد killﻃﻮر ﭘﯿﺶ ﻓﺮض ﺗﻮﺳﻂ دﺳﺘﻮر
ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﻧﻤﯽ .ﺳﯿﮕﻨﺎل را ﺑﮑﺸﯿﺪ اﯾﻦ ﺳﯿﮕﻨﺎل ﻣﻨﺠﺮ ﺑﻪ ﻓﺴﺦ ﻓﻮري روﻧﺪ ﺗﻮﺳﻂ ﻫﺴﺘﻪ ﻟﯿﻨﻮﮐﺲ ﻣﯽ ﺷﻮد
SIGKILL 9
.ﺗﻮاﻧﻨﺪ ﺑﺮاي اﯾﻦ ﺳﯿﮕﻨﺎل ﮔﻮش ﮐﻨﻨﺪ
اﮐﻨﻮن ﻓﺮض ﮐﻨﯿﺪ ﮐﻪ ﺑﺮﻧﺎﻣﻪ اي دارﯾﺪ ﮐﻪ ﻧﺎاﻣﯿﺪ ﮐﻨﻨﺪه اﺳﺖ و ﺷﻤﺎ ﻣﯽ ﺧﻮاﻫﯿﺪ از ﺷﺮ آن ﺧﻼص ﺷﻮﯾﺪ .در اﯾﻨﺠﺎ
ﭼﯿﺰي اﺳﺖ ﮐﻪ ﺷﻤﺎ اﻧﺠﺎم ﻣﯽ دﻫﯿﺪ :
از ﻓﺮﻣﺎن psﺑﺮاي درﯾﺎﻓﺖ ﻓﺮآﯾﻨﺪ ﺷﻨﺎﺳﺎﯾﯽ ) (PIDﻓﺮاﯾﻨﺪي ﮐﻪ ﻣﯽ ﺧﻮاﻫﯿﺪ ﭘﺎﯾﺎن دﻫﯿﺪ اﺳﺘﻔﺎده .1
ﮐﻨﯿﺪ .
ﯾﮏ دﺳﺘﻮر killﺑﺮاي آن PIDﺻﺎدر ﮐﻨﯿﺪ . .2
اﮔﺮ روﻧﺪ ﻓﺮاﻣﻮش ﺷﻮد )ﯾﻌﻨﯽ ﺳﯿﮕﻨﺎل را ﻧﺎدﯾﺪه ﻣﯽ ﮔﯿﺮد( ،ﺳﯿﮕﻨﺎل ﻫﺎي ﻓﺰاﯾﻨﺪه اي را ارﺳﺎل ﻣﯽ .3
ﮐﻨﺪ ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﭘﺎﯾﺎن ﯾﺎﺑﺪ .
$ ps x | grep bad_program
PID TTY STAT TIME COMMAND
2931 pts/5 SN 0:00 bad_program
killﯾﮏ ﻓﺮاﯾﻨﺪ ﺑﺎ اﺳﺘﻔﺎده از PIDﺧﻮد ﺑﺎ ارﺳﺎل ﯾﮏ ﺳﯿﮕﻨﺎل ﺑﻪ آن )ﭘﯿﺶ ﻓﺮض ﺳﯿﮕﻨﺎل ﺑﺮاي killاﺳﺖ
)TERMاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ kill -p 2300
$ kill -SIGTERM -p 2300
killallﻓﺮﻣﺎن
127
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 128
دﺳﺘﻮرlast
آﺧﺮﯾﻦ دﺳﺘﻮر ﻟﯿﺴﺘﯽ از آﺧﺮﯾﻦ ﮐﺎرﺑﺮان وارد ﺷﺪه را ﻧﻤﺎﯾﺶ ﻣﯽ دﻫﺪ.
$ last
دﺳﺘﻮر LNﺑﺮاي اﯾﺠﺎد ﯾﮏ ﻟﯿﻨﮏ ﻧﺮم اﻓﺰاري ﺑﯿﻦ ﻓﺎﯾﻞ ﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از flag -sﻣﺎﻧﻨﺪ اﯾﻦ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ ln -s / usr / bin / lscpu cpuinfo
find
locate commandﺑﺮاي findﯾﮏ ﻓﺎﯾﻞ ﺑﻪ ﻧﺎم اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.اﺑﺰار Locateﺑﻬﺘﺮ و ﺳﺮﯾﻌﺘﺮ از آن اﺳﺖ ﮐﻪ
ﻫﻤﺘﺎي ﺧﻮد را ﭘﯿﺪا ﮐﻨﯿﺪ.
دﺳﺘﻮر زﯾﺮ ﯾﮏ ﻓﺎﯾﻞ را ﺑﺎ ﻧﺎم دﻗﯿﻖ آن )ﻧﻪ * ﻧﺎم *( ﺟﺴﺘﺠﻮ ﻣﯽ ﮐﻨﺪ:
'$ locate -b '\ domain-list.txt
ﻓﺮﻣﺎن ورود
دﺳﺘﻮر ورود ﺑﻪ systemﺑﺮاي اﯾﺠﺎد ﯾﮏ ﺟﻠﺴﻪ ﺟﺪﯾﺪ ﺑﺎ systemاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.از ﺷﻤﺎ ﺧﻮاﺳﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ ﮐﻪ
ﻧﺎم ﮐﺎرﺑﺮي و ﮔﺬرواژه ﺧﻮد را ﺑﻪ ﻋﻨﻮان زﯾﺮ وارد ﮐﻨﯿﺪ.
$ sudo login
دﺳﺘﻮر lsﺑﺮاي ﻓﻬﺮﺳﺖ ﻣﺤﺘﻮﯾﺎت داﯾﺮﮐﺘﻮري اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.اﯾﻦ ﮐﺎر ﺑﯿﺸﺘﺮ ﯾﺎ ﮐﻤﺘﺮ ﻣﺎﻧﻨﺪ دﺳﺘﻮر dirاﻧﺠﺎم ﻣﯽ
ﺷﻮد.
ﮔﺰﯾﻨﻪ -lﻗﺎﻟﺐ ﻓﺮﻣﺖ ﻟﯿﺴﺖ ﻃﻮﻻﻧﯽ ﻣﺎﻧﻨﺪ اﯾﻦ را ﻣﯽ دﻫﺪ.
$ ls -l file1
128
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 129
ﺑﺨﺶ ﻫﺎ و ﻣﻘﺎدﯾﺮ آن ﺧﻮد ﺗﻮﺿﯿﺤﯽ اﺳﺖ.ﺑﺎ اﯾﻦ وﺟﻮد ،ﺳﺘﻮن FD & TYPEرا دﻗﯿﻖ ﺗﺮ ﺑﺮرﺳﯽ ﺧﻮاﻫﯿﻢ ﮐﺮد.
FD -ﻧﺸﺎﻧﮕﺮ ﺗﻮﺻﯿﻔﮕﺮ ﻓﺎﯾﻞ اﺳﺖ و ﻣﻤﮑﻦ اﺳﺖ ﺑﺮﺧﯽ از ﻣﻘﺎدﯾﺮ را ﺑﻪ ﻋﻨﻮان:
cwdداﯾﺮﮐﺘﻮري ﮐﺎر ﻓﻌﻠﯽ .1
rootداﯾﺮﮐﺘﻮري rtd .2
ﻣﺘﻦ ﺑﺮﻧﺎﻣﻪ ( txtﮐﺪ و داده ﻫﺎ) .3
ﻓﺎﯾﻞ memory memory memory .4
ﻫﻤﭽﻨﯿﻦ در اﻋﺪاد ﺳﺘﻮن FDﻣﺎﻧﻨﺪ 1uﺗﻮﺻﯿﻔﮕﺮ ﻓﺎﯾﻞ واﻗﻌﯽ اﺳﺖ و ﺑﻪ دﻧﺒﺎل آن ﺷﻤﺎw ،r ،از آن ﺣﺎﻟﺖ ﺑﻪ ﻋﻨﻮان:
rﺑﺮاي دﺳﺘﺮﺳﯽ ﺑﻪ ﺧﻮاﻧﺪن. .1
Wﺑﺮاي دﺳﺘﺮﺳﯽ ﻧﻮﺷﺘﺎري. .2
ﺷﻤﺎ ﺑﺮاي دﺳﺘﺮﺳﯽ ﺑﻪ ﺧﻮاﻧﺪن و ﻧﻮﺷﺘﻦ. .3
TYPE -از ﻓﺎﯾﻞ ﻫﺎ و ﺷﻨﺎﺳﺎﯾﯽ آن.
DIR -داﯾﺮﮐﺘﻮري .1
REG -ﻓﺎﯾﻞ ﻣﻨﻈﻢ .2
CHR -ﻓﺎﯾﻞ ﺧﺎص ﮐﺎراﮐﺘﺮ. .3
FIFO -اوﻟﯿﻦ ﺑﺎر در اﺑﺘﺪا .4
2.ﻓﻬﺮﺳﺖ ﻓﺎﯾﻞ ﻫﺎي ﺑﺎز ﺷﺪه ﻣﺨﺼﻮص ﮐﺎرﺑﺮ
hoseinرا ﻧﻤﺎﯾﺶ ﻣﯽ دﻫﺪ. دﺳﺘﻮر زﯾﺮ ﻟﯿﺴﺖ ﺗﻤﺎم ﻓﺎﯾﻞ ﻫﺎي ﺑﺎز ﺷﺪه ﮐﺎرﺑﺮ
# lsof -u hosein
129
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 130
130
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 131
131
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 132
)netcatﺑﺮاي اﻧﺠﺎم ﻫﺮ ﻋﻤﻠﯿﺎﺗﯽ ﻣﺮﺑﻮط ﺑﻪUDP ، TCPﯾﺎ ﺳﻮﮐﺖ ﻫﺎي داﻣﻨﻪ ﯾﻮﻧﯿﮑﺲ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.اﯾﻦ ﻣﯽ
ﺗﻮاﻧﺪ ﻫﺮ دو IPv4و IPv6را ﺑﺮاي ﺑﺎز ﮐﺮدن اﺗﺼﺎﻻت ، TCPارﺳﺎل ﺑﺴﺘﻪ ﻫﺎي listen ، UDPﺑﻪ ﭘﻮرت ﻫﺎي
دﻟﺨﻮاه TCPو ، UDPاﻧﺠﺎم scanﭘﻮرت ،اداره ﮐﻨﺪ.
دﺳﺘﻮر زﯾﺮ ﺑﻪ ﻣﺎ ﮐﻤﮏ ﺧﻮاﻫﺪ ﮐﺮد ﮐﻪ ﺑﺒﯿﻨﯿﻢ ﭘﻮرت 22در 192.168.56.5hostﺑﺎز اﺳﺖ.
$ nc-zv 192.168.1.5 22
دﺳﺘﻮر Netstat
اﯾﻦ اﺑﺰار ﺑﺴﯿﺎر ﻣﻬﻢ و ﻣﻔﯿﺪ ﺑﺮاي ﻣﺪﯾﺮان ﺷﺒﮑﻪ linuxو ﻫﻤﭽﻨﯿﻦ ﻣﺪﯾﺮان systemﺑﺮاي ﻧﻈﺎرت و رﻓﻊ ﻣﺸﮑﻼت
ﻣﺮﺑﻮط ﺑﻪ ﺷﺒﮑﻪ ﺧﻮد و ﺗﻌﯿﯿﻦ ﻋﻤﻠﮑﺮد ﺗﺮاﻓﯿﮏ ﺷﺒﮑﻪ اﺳﺖ.اﯾﻦ ﮐﺘﺎب اﺳﺘﻔﺎده از دﺳﺘﻮر netstatرا ﺑﺎ ﻧﻤﻮﻧﻪ ﻫﺎي آن
ﻧﺸﺎن ﻣﯽ دﻫﺪ ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ در ﻋﻤﻠﯿﺎت روزاﻧﻪ ﻣﻔﯿﺪ ﺑﺎﺷﺪ.
ﻟﯿﺴﺖ ﺗﻤﺎم ﭘﻮرت ﻫﺎ )ﻫﺮ دو TCPو ) UDPﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ netstat -a.
# netstat-a |more
ﻟﯿﺴﺖ اﺗﺼﺎﻻت ﭘﻮرت ) TCP ( Transmission Control Protocolرا ﺑﺎ اﺳﺘﻔﺎده از netstat -at .
# netstat -at
ﻟﯿﺴﺖ اﺗﺼﺎﻻتUDP Ports
ﻓﻘﻂ ﭘﺮوﺗﮑﻞ ( UDPﭘﺮوﺗﮑﻞ دﯾﺘﺎﮔﺮام ﮐﺎرﺑﺮ )را ﺑﺎ اﺳﺘﻔﺎده از netstat -auﻓﻬﺮﺳﺖ ﮐﻨﯿﺪ.
# netstat –au
132
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 133
133
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 134
.ﻧﻤﺎﯾﺶ ﺣﺎﻟﺖPromiscuous
ﻧﻤﺎﯾﺶ ﺣﺎﻟﺖ ﻣﺸﮑﻮك ﺑﺎ ﮐﻠﯿﺪnetstat ، -ACﭼﺎپ اﻃﻼﻋﺎت اﻧﺘﺨﺎب ﺷﺪه ﯾﺎ ﺻﻔﺤﻪ ﻧﻤﺎﯾﺶ ﺗﺎزه ﮐﺮدن ﻫﺮ ﭘﻨﺞ
ﺛﺎﻧﯿﻪ.ﺑﺎزﺧﻮاﻧﯽ ﭘﯿﺶ ﻓﺮض ﺻﻔﺤﻪ در ﻫﺮ ﺛﺎﻧﯿﻪ.
# netstat -ac 5 |grep TCP
ﻧﻤﺎﯾﺶ ﻣﺴﯿﺮ ﮐﺮﻧﻞIP
ﻧﻤﺎﯾﺶ ﺟﺪول ﮐﺮﻧﻞ IPﺑﺎ دﺳﺘﻮر netstatوroute.
# netstat -r
.ﻧﻤﺎﯾﺶ ﺗﺮاﮐﻨﺶ ﻫﺎي اﯾﻨﺘﺮﻓﯿﺲ ﺷﺒﮑﻪ
ﻧﻤﺎﯾﺶ ﺑﺴﺘﻪ ﻫﺎي ﺷﺒﮑﻪ اي از ﺟﻤﻠﻪ اﻧﺘﻘﺎل و درﯾﺎﻓﺖ ﺑﺴﺘﻪ ﺑﺎ اﻧﺪازهMTU.
# netstat –i
134
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 135
دﺳﺘﻮراﻟﻌﻤﻞ tar
در اﯾﻦ ﮐﺘﺎب ﻣﺎ ﻗﺼﺪ ﺑﺮرﺳﯽ و ﺑﺤﺚ در ﻣﻮرد ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﺨﺘﻠﻒ دﺳﺘﻮر tarرا از ﺟﻤﻠﻪ ﻧﺤﻮه اﯾﺠﺎد ﻓﺎﯾﻞ ﻫﺎي ﺑﺎﯾﮕﺎﻧﯽ
ﺑﺎ اﺳﺘﻔﺎده ازtar.gz ، ( tarو ) tar.bz2ﻓﺸﺮده ﺳﺎزي ،ﭼﮕﻮﻧﮕﯽ اﺳﺘﺨﺮاج ﻓﺎﯾﻞ ﺑﺎﯾﮕﺎﻧﯽ ،اﺳﺘﺨﺮاج ﯾﮏ ﻓﺎﯾﻞ ،ﻣﺸﺎﻫﺪه
ﻣﺤﺘﻮاي ﻓﺎﯾﻞ ،ﻓﺎﯾﻞ را ﺗﺄﯾﯿﺪ ﮐﻨﯿﺪ ،ﻓﺎﯾﻠﻬﺎ ﯾﺎ داﯾﺮﮐﺘﻮرﯾﻬﺎ را ﺑﺮاي ﻓﺎﯾﻞ آرﺷﯿﻮ اﺿﺎﻓﻪ ﮐﻨﯿﺪ ،ﺑﺮآورد اﻧﺪازه ﻓﺎﯾﻞ ﺑﺎﯾﮕﺎﻧﯽ
tarو ﻏﯿﺮه
ﻫﺪف اﺻﻠﯽ اﯾﻦ راﻫﻨﻤﺎ ،اراﺋﻪ ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﺨﺘﻠﻒ دﺳﺘﻮر tarاﺳﺖ ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ ﺑﺮاي ﺷﻤﺎ ﻣﻔﯿﺪ ﺑﺎﺷﺪ و ﺑﻪ
ﮐﺎرﺷﻨﺎﺳﺎن در دﺳﺘﮑﺎري آرﺷﯿﻮ tarﺗﺒﺪﯾﻞ ﺷﻮﯾﺪ.
135
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 136
/ home / MyImages /
/home/MyImages/Sara-Khan-and-model-Priyanka-Shah.jpg
/home/MyImages/RobertKristenviolent101201.jpg
/home/MyImages/Justintimerlake101125.jpg
/home/MyImages/Mileyphoto101203.jpg
/home/MyImages/JenniferRobert101130.jpg
/home/MyImages/katrinabarbiedoll231110.jpg
/home/MyImages/the-japanese-wife-press-conference.jpg
/home/MyImages/ReesewitherspoonCIA101202.jpg
/home/MyImages/yanaguptabaresf231110.jpg
tar.bz2اﯾﺠﺎد ﻓﺎﯾﻞ ﺑﺎﯾﮕﺎﻧﯽ
زﻣﺎن ﺑﯿﺸﺘﺮي راbz2 ﻓﺸﺮده ﺳﺎزي.را اﯾﺠﺎد ﻣﯽ ﮐﻨﺪgzip ﻓﺸﺮده ﺷﺪه و ﻓﺎﯾﻞ ﺑﺎﯾﮕﺎﻧﯽ ﮐﻤﺘﺮ از اﻧﺪازهbz2 وﯾﮋﮔﯽ
ﺑﺮاي اﯾﺠﺎد ﯾﮏ.ﻣﯽ ﮔﯿﺮد ﮐﻪ زﻣﺎن ﮐﻤﺘﺮي را ﻣﯽ ﮔﯿﺮدgzip ﺑﺮاي ﻓﺸﺮده ﺳﺎزي و ﻓﺸﺮده ﺳﺎزي ﻓﺎﯾﻠﻬﺎ در ﻣﻘﺎﯾﺴﻪ ﺑﺎ
را ﺑﺮايphpfiles-org.tar.bz2 دﺳﺘﻮر زﯾﺮ ﻣﺜﺎل زﯾﺮ ﻓﺎﯾﻞ.اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﯿﻢj ﮐﺎﻣﻼ ﻓﺸﺮده ﻣﺎ از ﮔﺰﯾﻨﻪtar ﻓﺎﯾﻞ
). اﺳﺖtb2 ﺷﺒﯿﻪtbz و: tar.bz2 ﺗﻮﺟﻪ.( اﯾﺠﺎد ﻣﯽ ﮐﻨﺪ/ home / php ﯾﮏ ﭘﻮﺷﻪ
# tar cvfj Phpfiles-org.tar.bz2 / home / php
ﯾﺎ
# tar cvfj Phpfiles-org.tar.tbz / home / php
ﯾﺎ
# tar cvfj Phpfiles-org.tar.tb2 / home / php
/ home / php /
/home/php/iframe_ew.php
/home/php/videos_all.php
/home/php/rss.php
/home/php/index.php
136
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 137
/home/php/vendor.php
/home/php/video_title.php
/home/php/report.php
/home/php/object.html
/home/php/video.php
Untar tarﺑﺎﯾﮕﺎﻧﯽ ﻓﺎﯾﻞ
ﺑﻪ.ﺻﺎدر ﮐﻨﯿﺪx ( extract ) ﻓﻘﻂ دﺳﺘﻮر زﯾﺮ را ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ، tarﺑﺮاي ﺟﺪا ﮐﺮدن ﯾﺎ اﺳﺘﺨﺮاج ﯾﮏ ﻓﺎﯾﻞ
اﮔﺮ ﻣﯽ.را در داﯾﺮﮐﺘﻮري ﻓﻌﻠﯽ ﺑﺎز ﺧﻮاﻫﺪ ﮐﺮدpublic_html-14-09-12.tar ﻋﻨﻮان ﻣﺜﺎل دﺳﺘﻮر زﯾﺮ ﻓﺎﯾﻞ
داﯾﺮﮐﺘﻮري ﻣﺸﺨﺺ ﺷﺪه )اﺳﺘﻔﺎده-C ( از ﮔﺰﯾﻨﻪ ﺑﻪ ﻋﻨﻮان،ﺧﻮاﻫﯿﺪ در ﯾﮏ داﯾﺮﮐﺘﻮري ﺟﺪاﮔﺎﻧﻪ ﺑﺎزﻧﺸﺎﻧﯽ ﮐﻨﯿﺪ
اﮔﺮ ﻣﯿﺨﻮاﻫﯿﺪ در داﯾﺮﮐﺘﻮرﯾﻬﺎي. ﻓﻘﻂ دﺳﺘﻮر زﯾﺮ را اﺟﺮا ﮐﻨﯿﺪ،tar.gz ﺑﺮاي ﻏﯿﺮﻓﻌﺎل ﮐﺮدن ﻓﺎﯾﻞ آرﺷﯿﻮ.ﮐﻨﯿﺪ
ﻫﻤﺎﻧﻄﻮر ﮐﻪ در ﻣﺜﺎل ﺑﺎﻻ ﻧﺸﺎن،و ﻣﺴﯿﺮ داﯾﺮﮐﺘﻮري اﺳﺘﻔﺎده ﮐﻨﯿﺪ-C ﻓﻘﻂ از ﮔﺰﯾﻨﻪ،ﻣﺨﺘﻠﻒ ﻣﺠﺪدا اﺳﺘﻔﺎده ﮐﻨﯿﺪ
.داده ﺷﺪه اﺳﺖ
# tar -xvf thumbnails-14-09-12.tar.gz
دﺳﺘﻮر زﯾﺮ ﻣﺜﺎل زﯾﺮ ﺗﻤﺎم ﻓﺎﯾﻞ. ﻓﻘﻂ از دﺳﺘﻮر زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ،ﺑﺴﯿﺎر ﻓﺸﺮدهtar.bz2 ﺑﺮاي ﻏﯿﺮﻓﻌﺎل ﮐﺮدن ﻓﺎﯾﻞ
.را از ﻓﺎﯾﻞ آرﺷﯿﻮ ﺟﺪا ﻣﯽ ﮐﻨﺪ.flv ﻫﺎي
/home/public_html/videos/flv/katrinabarbiedoll231110.flv
/home/public_html/videos/flv/BrookmuellerCIA101125.flv
/home/public_html/videos/flv/dollybackinbb4101125.flv
/home/public_html/videos/flv/JenniferRobert101130.flv
/home/public_html/videos/flv/JustinAwardmovie101125.flv
137
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 138
/home/public_html/videos/flv/Lakme-Fashion-Week.flv
/home/public_html/videos/flv/Mileyphoto101203.flv
/home/public_html/videos/flv/Minissha-Lamba.flv
tarﻓﻬﺮﺳﺖ ﻣﺤﺘﻮﯾﺎت ﻓﺎﯾﻞ ﺑﺎﯾﮕﺎﻧﯽ
دﺳﺘﻮر زﯾﺮ ﻣﺤﺘﻮي.ﻟﯿﺴﺖ ﻣﺤﺘﻮا )اﺟﺮا ﮐﻨﯿﺪt ( ﻓﻘﻂ دﺳﺘﻮر زﯾﺮ را ﺑﺎ ﮔﺰﯾﻨﻪ، tarﺑﺮاي ﻓﻬﺮﺳﺖ ﻣﺤﺘﻮﯾﺎت ﻓﺎﯾﻞ آرﺷﯿﻮ
.را ﻓﻬﺮﺳﺖ ﻣﯽ ﮐﻨﺪuploadprogress.tar ﻓﺎﯾﻞ
# tar -tvf uploadprogress.tar
138
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 139
.از دﺳﺘﻮر زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪcleanfiles.sh.tar ازcleanfiles.sh ﺑﺮاي اﺳﺘﺨﺮاج ﯾﮏ ﻓﺎﯾﻞ ﺑﻪ ﻧﺎم
# tar -xvf cleanfiles.sh.tar cleanfiles.sh
ﯾﺎ
# tar --extract --file = cleanfiles.sh.tar cleanfiles.sh
cleanfiles.sh
از دﺳﺘﻮر زﯾﺮ،hosein backup.tar.gz از ﻓﺎﯾﻞ آرﺷﯿﻮhosein backup.xml ﺑﺮاي اﺳﺘﺨﺮاج ﯾﮏ ﻓﺎﯾﻞ
.اﺳﺘﻔﺎده ﮐﻨﯿﺪ
# tar -zxvf hosein backup.tar.gz hosein backup.xml
ﯾﺎ
# tar --extract --file = hosein backup.tar.gz hosein backup.xml
hosein backup.xml
.از ﮔﺰﯾﻨﻪ زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪPhpfiles-org.tar.bz2 از ﻓﺎﯾﻞindex.php ﺑﺮاي اﺳﺘﺨﺮاج ﯾﮏ ﻓﺎﯾﻞ ﺑﻪ ﻧﺎم
# tar -jxvf Phpfiles-org.tar.bz2 home / php / index.php
ﯾﺎ
# tar --extract --file = Phpfiles-org.tar.bz2 /home/php/index.php
/home/php/index.php
139
دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ1001 140
" 1 ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل دﺳﺘﻮر زﯾﺮ ﻓﺎﯾﻞtar.bz2 . وtar.gz ،tar ﺑﺮاي اﺳﺘﺨﺮاج ﯾﺎ ﺟﺪا ﮐﺮدن ﭼﻨﺪﯾﻦ ﻓﺎﯾﻞ از ﻓﺎﯾﻞ آرﺷﯿﻮ
.را از ﻓﺎﯾﻞ ﻫﺎي ﺑﺎﯾﮕﺎﻧﯽ اﺳﺘﺨﺮاج ﻣﯽ ﮐﻨﺪfile 2 "
# tar -xvf hosein -14-09-12.tar " file 1 " " file 2 "
/home/php/iframe_ew.php
/home/php/videos_all.php
/home/php/rss.php
/home/php/index.php
/home/php/vendor.php
/home/php/video_title.php
/home/php/report.php
/home/php/video.php
اﺳﺘﻔﺎدهr ( append ) از ﮔﺰﯾﻨﻪ،ﺑﺮاي اﺿﺎﻓﻪ ﮐﺮدن ﻓﺎﯾﻞ ﻫﺎ ﯾﺎ داﯾﺮﮐﺘﻮري ﻫﺎ ﺑﻪ ﻓﺎﯾﻞ ﻫﺎي آرﺷﯿﻮ ﺷﺪه ﻣﻮﺟﻮد
اﺿﺎﻓﻪhosein -14-09-12.tar را ﺑﻪ ﻓﺎﯾﻞ آرﺷﯿﻮphp و داﯾﺮﮐﺘﻮريxyz.txt ﺑﺮاي ﻣﺜﺎل ﻣﺎ ﻓﺎﯾﻞ.ﻣﯽ ﮐﻨﯿﻢ
.ﻣﯿﮑﻨﯿﻢ
# tar -rvf hosein - 14-09-12.tar xyz.txt
140
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 141
141
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 142
ﻓﺮﻣﺎنpstree
pstreeﻓﺮآﯾﻨﺪﻫﺎي در ﺣﺎل اﺟﺮا را ﺑﻪ ﻋﻨﻮان ﯾﮏ درﺧﺖ ﻧﺸﺎن ﻣﯽ دﻫﺪ ﮐﻪ در PIDﯾﺎ init rootدارد اﮔﺮ PID
ﺣﺬف ﺷﻮد.
$ pstree
ﻓﺮﻣﺎنpwd
دﺳﺘﻮر pwdﻧﺎم ﭘﻮﺷﻪ ﻓﻌﻠﯽ /ﮐﺎر را در زﯾﺮ ﻧﺸﺎن ﻣﯽ دﻫﺪ.
$ pwd
ﻓﺮﻣﺎنpstree
pstreeﻓﺮآﯾﻨﺪﻫﺎي در ﺣﺎل اﺟﺮا را ﺑﻪ ﻋﻨﻮان ﯾﮏ درﺧﺖ ﻧﺸﺎن ﻣﯽ دﻫﺪ ﮐﻪ در PIDﯾﺎ init rootدارد اﮔﺮ PID
ﺣﺬف ﺷﻮد.
$ pstree
ﻓﺮﻣﺎنpwd
دﺳﺘﻮر pwdﻧﺎم ﭘﻮﺷﻪ ﻓﻌﻠﯽ /ﮐﺎر را در زﯾﺮ ﻧﺸﺎن ﻣﯽ دﻫﺪ.
$ pwd
ﻓﺮﻣﺎنrdiff-backup
rdiff-backupﯾﮏ اﺳﮑﺮﯾﭙﺖ ﭘﺸﺘﯿﺒﺎن اﻓﺰارﯾﺎﻓﺰاﯾﺸﯽ ﻣﺤﻠﯽ /از راه دور اﺳﺖ ﮐﻪ در ﭘﺎﯾﺘﻮن ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ.اﯾﻦ
در ﻫﺮ systemﻋﺎﻣﻞ POSIXﻣﺎﻧﻨﺪ ،linuxﻣﮏ OS Xﮐﺎر ﻣﯽ ﮐﻨﺪ.
ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ ﺑﺮاي ﭘﺸﺘﯿﺒﺎن ﮔﯿﺮي از راه دور ،ﺷﻤﺎ ﺑﺎﯾﺪ ﻫﻤﺎن ﻧﺴﺨﻪ از ردﯾﻒ ﭘﺸﺘﯿﺒﺎن را ﺑﺮ روي دﺳﺘﮕﺎه
ﻫﺎي ﻣﺤﻠﯽ و از راه دور installﮐﻨﯿﺪ.در زﯾﺮ ﯾﮏ ﻣﺜﺎل از ﯾﮏ دﺳﺘﻮر ﺗﻬﯿﻪ ﻧﺴﺨﻪ ﭘﺸﺘﯿﺒﺎن ﺗﻬﯿﻪ ﻣﯽ ﺷﻮد:
$ sudo rdiff-backup / etc /media/ hosein /Backup/server_etc.backup
دﺳﺘﻮرrestart
دﺳﺘﻮر rebootﻣﻤﮑﻦ اﺳﺖ ﺑﺮاي ﺗﻮﻗﻒ ،ﺧﺎﻣﻮش ﮐﺮدن ﯾﺎ system restartﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺘﻔﺎده ﺷﻮد.
$ restart
ﺗﻐﯿﯿﺮ ﻧﺎم دﺳﺘﻮر
ﺗﻐﯿﯿﺮ ﻧﺎم ﻓﺮﻣﺎﻧﺒﺮاي ﺗﻐﯿﯿﺮ ﻧﺎم ﺑﺴﯿﺎري از ﻓﺎﯾﻞ ﻫﺎ در ﯾﮏ ﺑﺎر اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.اﮔﺮ ﺷﻤﺎ ﻣﺠﻤﻮﻋﻪ اي از ﻓﺎﯾﻞ ﻫﺎي ﺑﺎ
ﭘﺴﻮﻧﺪ " " .htmlرا داﺷﺘﻪ ﺑﺎﺷﯿﺪ و ﺷﻤﺎ ﻣﯽ ﺧﻮاﻫﯿﺪ ﻫﻤﻪ آﻧﻬﺎ را ﺑﺎ " " .phpﺗﻐﯿﯿﺮ ﻧﺎم دﻫﯿﺪ ،ﻣﯽ ﺗﻮاﻧﯿﺪ دﺳﺘﻮر زﯾﺮ
را ﺗﺎﯾﭗ ﮐﻨﯿﺪ.
$ rename / \. html $ / \. php / '* .html
ﻓﺮﻣﺎنrm
ﻓﺮﻣﺎن rmﺑﺮاي ﺣﺬف ﻓﺎﯾﻞ ﻫﺎ ﯾﺎ داﯾﺮﮐﺘﻮري ﻫﺎ ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
142
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 143
$ rm file1
$ rm -rf my-files
ﻣﺮاﻗﺐ ﺑﺎﺷﯿﺪ ﺑﺎ !RM
ﻟﯿﻨﻮﮐﺲ ﯾﮏ دﺳﺘﻮر undeleteﻧﺪارد ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﭼﯿﺰي را ﺑﺎ rmﺣﺬف ﻣﯽ ﮐﻨﯿﺪ ،از ﺑﯿﻦ رﻓﺘﻪ اﺳﺖ .اﮔﺮ دﻗﺖ
ﻧﮑﻨﯿﺪ ،ﺑﻪ ﺧﺼﻮص ﺑﺎ ﮐﻠﻤﺎت ﺳﺮﭼﺸﻤﯽ ،ﻣﯽ ﺗﻮاﻧﯿﺪ ﺧﺴﺎرت ﻓﻮق اﻟﻌﺎده اي در ﺳﯿﺴﺘﻢ ﺧﻮد اﯾﺠﺎد ﮐﻨﯿﺪ .
ﻗﺒﻞ از اﺳﺘﻔﺎده از rmﺑﺎ ، wildcardsاﯾﻦ ﺗﺮﻓﻨﺪ ﻣﻔﯿﺪ را اﻣﺘﺤﺎن ﮐﻨﯿﺪ :ﻓﺮﻣﺎن ﺧﻮد را ﺑﺎ اﺳﺘﻔﺎده از ls
ﺑﺴﺎزﯾﺪ .ﺑﺎ اﻧﺠﺎم اﯾﻦ ﮐﺎر ،ﻣﯽ ﺗﻮاﻧﯿﺪ ﻗﺒﻞ از ﭘﺎك ﮐﺮدن ﻓﺎﯾﻞ ﻫﺎ ،ﻋﻼﻣﺖ ﻫﺎي ﻣﺨﺘﻠﻒ ﺧﻮد را ﺑﺒﯿﻨﯿﺪ .ﭘﺲ از اﯾﻨﮑﻪ
ﻓﺮﻣﺎن ﺧﻮد را ﺑﺎ lsﺗﺴﺖ ﮐﺮدﯾﺪ ،ﻓﺮﻣﺎن را ﺑﺎ ﮐﻠﯿﺪ ﻓﻠﺶ ﺑﺎﻻ ﺑﻪ ﺧﺎﻃﺮ ﺑﯿﺎورﯾﺪ و ﺳﭙﺲ RMرا ﺑﺮاي lsدر ﻓﺮﻣﺎن
ﺟﺎﯾﮕﺰﯾﻦ ﮐﻨﯿﺪ .
دﺳﺘﻮر ﻓﺮﻣﺎنrmdir
دﺳﺘﻮر rmdirﺑﻪ ﺣﺬف /ﺣﺬف ﭘﻮﺷﻪ ﻫﺎي emptyﺑﻪ ﺻﻮرت زﯾﺮ ﮐﻤﮏ ﻣﯽ ﮐﻨﺪ.
$ rmdir / backup / all
دﺳﺘﻮر
دﺳﺘﻮر scpﺷﻤﺎ را ﻗﺎدر ﻣﯽ ﺳﺎزد ﺑﻪ ﻃﻮر ﻣﺜﺎل ﻓﺎﯾﻞ ﻫﺎي اﯾﻤﻦ را در ﺑﯿﻦ hostﻫﺎ در ﯾﮏ ﺷﺒﮑﻪ ﮐﭙﯽ ﮐﻨﯿﺪ.
$ scp ~ / names.txt root@192.168.56.10 : /root/names.txt
دﺳﺘﻮرshutdown
دﺳﺘﻮر shutdownﺑﺮﻧﺎﻣﻪ زﻣﺎﻧﯽ ﺑﺮاي systemرا ﺧﺎﻣﻮش ﻣﯽ ﮐﻨﺪ.اﯾﻦ ﻣﻤﮑﻦ اﺳﺖ ﺑﺮاي ﺗﻮﻗﻒ ،ﺧﺎﻣﻮش ﮐﺮدن ﯾﺎ
restartدﺳﺘﮕﺎه ﻣﺎﻧﻨﺪ اﯾﻦ ﻣﻮرد اﺳﺘﻔﺎده ﺷﻮد.
$ shutdown - power up
ﯾﺎد ﺑﮕﯿﺮﯾﺪ ﭼﮕﻮﻧﻪ ﺑﺮاي ﻧﺸﺎن دادن ﯾﮏ ﭘﯿﺎم ﺳﻔﺎرﺷﯽ ﺑﻪ ﮐﺎرﺑﺮان ﻗﺒﻞ از ﺧﺎﻣﻮش ﮐﺮدن ﺳﺮور linux .
ﻓﺮﻣﺎن sleepﺑﺮاي ﺗﺄﺧﯿﺮ ﯾﺎ ﻣﮑﺚ )ﺑﻪ ﻃﻮر ﺧﺎص اﻋﺪام ﯾﮏ ﻓﺮﻣﺎن( ﺑﺮاي ﯾﮏ ﻣﻘﺪار ﻣﺸﺨﺺ از زﻣﺎن اﺳﺘﻔﺎده ﻣﯽ
ﺷﻮد.
5 sudo apt update؛sleep؛ $ check.sh
دﺳﺘﻮرstat
statﺑﺮاي ﻧﺸﺎن دادن وﺿﻌﯿﺖ ﻓﺎﯾﻞ ﯾﺎ systemﻓﺎﯾﻞ ﻣﺎﻧﻨﺪ اﯾﻦ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد ( -fﺑﺮاي ﻣﺸﺨﺺ ﮐﺮدن ﯾﮏ
systemﻓﺎﯾﻞ).
$ stat file1
143
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 144
دﺳﺘﻮرsu
دﺳﺘﻮر suﺑﺮاي اﻧﺘﻘﺎل ﺑﻪ ﯾﮑﯽ دﯾﮕﺮ از ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد ﯾﺎ در ﻃﻮل ﯾﮏ ﺟﻠﺴﻪ ورود root ،ﻣﯽ
ﺷﻮد.ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﻫﻨﮕﺎﻣﯽ ﮐﻪ suﺑﺪون ﻧﺎم ﮐﺎرﺑﺮي ﻓﺮاﺧﻮاﻧﯽ ﻣﯽ ﺷﻮد ،ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض ﺑﻪ rootﺗﺒﺪﯾﻞ ﻣﯽ
ﺷﻮد.
$ su
$ su hosein
دﺳﺘﻮر sudo
دﺳﺘﻮر sudoاﺟﺎزه ﻣﯽ دﻫﺪ ﯾﮏ ﮐﺎرﺑﺮ ﻣﺠﺎز systemﺑﺮاي اﺟﺮاي ﻓﺮﻣﺎن ﺑﻪ ﻋﻨﻮان rootﯾﺎ ﯾﮏ ﮐﺎرﺑﺮ دﯾﮕﺮ،
ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﺗﻮﺳﻂ ﺳﯿﺎﺳﺖ اﻣﻨﯿﺘﯽ ﻣﺎﻧﻨﺪ sudoersﺗﻌﺮﯾﻒ ﺷﺪه اﺳﺖ.
در اﯾﻦ ﻣﻮرد ،ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮي واﻗﻌﯽ )ﻧﻪ ﻣﻮﺛﺮ( ﮐﺎرﺑﺮ ﮐﻪ sudoاﺟﺮا ﻣﯽ ﺷﻮد ﺑﺮاي ﺗﻌﯿﯿﻦ ﻧﺎم ﮐﺎرﺑﺮي ﮐﻪ ﺑﺎ آن ﺑﻪ ﭘﺮس
و ﺟﻮ از ﺳﯿﺎﺳﺖ اﻣﻨﯿﺘﯽ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ sudo apt update
$ sudo useradd hosein
$ sudo passwd hosein
ﻓﺮﻣﺎن touch
ﻓﺮﻣﺎن touchزﻣﺎﻧﺒﻨﺪﯾﻬﺎي ﻓﺎﯾﻞ را ﺗﻐﯿﯿﺮ ﻣﯽ دﻫﺪ ،ﻫﻤﭽﻨﯿﻦ ﻣﯽ ﺗﻮاﻧﺪ ﺑﺮاي اﯾﺠﺎد ﯾﮏ ﻓﺎﯾﻞ ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺘﻔﺎده
ﺷﻮد.
$ touch file.txt
ﻓﺮﻣﺎن wall
ﻓﺮﻣﺎن wallﺑﺮاي ارﺳﺎل /ﻧﻤﺎﯾﺶ ﭘﯿﺎم ﺑﻪ ﺗﻤﺎﻣﯽ ﮐﺎرﺑﺮان systemاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد ﺑﻪ ﺷﺮح زﯾﺮ اﺳﺖ.
$ wall
"اﯾﻦ hoseinاﺳﺖ linux -ﭼﮕﻮﻧﻪ"Tos
144
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 145
ﻧﺴﺨﻪ linux
ﭼﻨﺪ راه ﺑﺮاي داﻧﺴﺘﻦ ﻧﺴﺨﻪ linuxﺷﻤﺎ در ﺣﺎل اﺟﺮا ﺑﺮ روي دﺳﺘﮕﺎه ﺷﻤﺎ وﺟﻮد دارد ،ﻫﻤﭽﻨﯿﻦ ﻧﺎم ﺗﻮزﯾﻊ ﺷﻤﺎ و
ﻧﺴﺨﻪ ﮐﺮﻧﻞ و ﺑﺮﺧﯽ اﻃﻼﻋﺎت اﺿﺎﻓﯽ ﮐﻪ اﺣﺘﻤﺎﻻ ﻣﯽ ﺧﻮاﻫﯿﺪ در ذﻫﻦ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﯾﺎ در ﻧﻮك اﻧﮕﺸﺘﺎن ﺧﻮد داﺷﺘﻪ
ﺑﺎﺷﯿﺪ وﺟﻮد دارد.
ﺑﻨﺎﺑﺮاﯾﻦ ،در اﯾﻦ راﻫﻨﻤﺎي ﺳﺎده اﻣﺎ ﻣﻬﻢ ﺑﺮاي ﮐﺎرﺑﺮان linuxﺟﺪﯾﺪ ،ﺑﻪ ﺷﻤﺎ ﻧﺸﺎن ﺧﻮاﻫﻢ داد ﮐﻪ ﭼﮕﻮﻧﻪ اﯾﻦ ﮐﺎر را
اﻧﺠﺎم دﻫﯿﺪ.اﻧﺠﺎم اﯾﻦ ﮐﺎر ﻣﻤﮑﻦ اﺳﺖ ﺑﻪ ﻧﻈﺮ ﻣﯽ رﺳﺪ ﮐﻪ ﮐﺎر ﻧﺴﺒﺘﺎ آﺳﺎن اﺳﺖ ،ﺑﺎ اﯾﻦ ﺣﺎل ،داﺷﺘﻦ داﻧﺶ ﺧﻮب از
systemﺷﻤﺎ ﻫﻤﯿﺸﻪ ﺗﻮﺻﯿﻪ ﻣﯽ ﺷﻮد ﺑﺮاي ﺗﻌﺪاد زﯾﺎدي از دﻻﯾﻞ از ﺟﻤﻠﻪ installو راه اﻧﺪازي ﺑﺴﺘﻪ ﻫﺎي ﻣﻨﺎﺳﺐ
ﺑﺮاي ﻧﺴﺨﻪ linuxﺧﻮد را ،ﺑﺮاي ﮔﺰارش آﺳﺎن از اﺷﮑﺎﻻت ﻫﻤﺮاه ﺑﺎ ﺑﺴﯿﺎري از ﺑﯿﺸﺘﺮ.
ﭘﯿﺸﻨﻬﺎدي ﺑﺮاي ﺧﻮاﻧﺪن 5:راه ﺑﺮاي ﯾﺎﻓﺘﻦ bit 32 linux systemﯾﺎ bit 64اﺳﺖ
ﺑﺎ اﯾﻦ ﮔﻔﺘﻦ ،ﺑﻪ ﻣﺎ اﺟﺎزه دﻫﯿﺪ ﮐﻪ اﻃﻼﻋﺎﺗﯽ در ﻣﻮرد ﺗﻮزﯾﻊ linuxﺷﻤﺎ اﯾﺠﺎد ﮐﻨﺪ.
ﻣﺸﺎﻫﺪه ﻧﺴﺨﻪ ﮐﺮﻧﻞ linux
ﻣﺎ از دﺳﺘﻮر unameاﺳﺘﻔﺎده ﺧﻮاﻫﯿﻢ ﮐﺮد ﮐﻪ ﺑﺮاي ﭼﺎپ اﻃﻼﻋﺎت linux systemﻣﺎﻧﻨﺪ ﻧﺴﺨﻪ ﮐﺮﻧﻞ و ﻧﺎم
آزﻣﺎﯾﺸﯽ ،ﻧﺎم hostﺷﺒﮑﻪ ،ﻧﺎم ﺳﺨﺖ اﻓﺰار دﺳﺘﮕﺎه architect ،ﭘﺮدازﻧﺪه ،ﭘﻠﺖ ﻓﺮم ﺳﺨﺖ اﻓﺰار و systemﻋﺎﻣﻞ
اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
ﺑﺮاي findﮐﺪام ﻧﺴﺨﻪ از ﻫﺴﺘﻪ linuxﮐﻪ در ﺣﺎل اﺟﺮا ﻫﺴﺘﯿﺪ ،ﺗﺎﯾﭗ ﮐﻨﯿﺪ:
ﯾﺎ $ uname
145
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 146
146
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 147
ﺑﻬﺘﺮﯾﻦ راه ﺑﺮاي ﺗﻌﯿﯿﻦ ﻧﺎم ﺗﻮزﯾﻊ linuxو اﻧﺘﺸﺎر اﻃﻼﻋﺎت ﻧﺴﺨﻪ ،اﺳﺘﻔﺎده از دﺳﺘﻮر cat /etc/os-releaseﮐﻪ در
ﺗﻘﺮﯾﺒﺎ ﺗﻤﺎم systemﻋﺎﻣﻞ linuxﮐﺎر ﻣﯽ ﮐﻨﺪ.
Linux Red Hatدر -- -- -- -- -- -- -- -- -- --
$ cat / etc / redhat-release
147
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 148
148
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 149
tuptimeﭼﯿﺴﺖ؟
tuptimeاﺑﺰاري اﺳﺖ ﺑﺮاي ﮔﺰارش زﻣﺎﻧﯽ زﻣﺎﻧﯽ ( زﻣﺎن آﭘﺪﯾﺖ )ﺗﺎرﯾﺨﯽ و آﻣﺎري ﯾﮏ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ، Linuxﮐﻪ آن
را ﺑﯿﻦ ﺑﺎزﯾﺎﺑﯽ ﻧﮕﻪ ﻣﯽ دارد.اﯾﻦ اﺑﺰار ﮐﻤﺘﺮ ﻣﺎﻧﻨﺪ دﺳﺘﻮر uptimeﮐﺎر ﻣﯽ ﮐﻨﺪ ،اﻣﺎ اﮔﺮﭼﻪ ﺧﺮوﺟﯽ ﭘﯿﺸﺮﻓﺘﻪ ﺗﺮ را
ﻓﺮاﻫﻢ ﻣﯽ ﮐﻨﺪ.
اﯾﻦ اﺑﺰار ﺧﻂ ﻓﺮﻣﺎن ﻣﯽ ﺗﻮاﻧﺪ:
ﺛﺒﺖ ﻧﺎم ﻫﺴﺘﻪ ﻣﻮرد اﺳﺘﻔﺎده .1
اوﻟﯿﻦ ﺑﺎر ﺑﻮت را ﺛﺒﺖ ﮐﻨﯿﺪ. .2
ﺗﻌﺪاد systemﻫﺎي راه اﻧﺪازي. .3
ﺷﻤﺎر ﺧﺎﻣﻮش ﺷﺪن ﺧﺎﻣﻮش و ﺑﺪ .4
از زﻣﺎن اوﻟﯿﻦ ﺑﻮت ﺷﺪن ،درﺻﺪ زﻣﺎن آﭘﺪﯾﺖ و ﺧﺮاﺑﯽ را ﻣﺤﺎﺳﺒﻪ ﮐﻨﯿﺪ. .5
ﻣﺤﺎﺳﺒﻪ ﺑﺰرﮔﺘﺮﯾﻦ ،ﮐﻮﺗﺎه ﺗﺮﯾﻦ و ﻣﺘﻮﺳﻂ زﻣﺎﻧﺒﻮﺗﻮﺧﺮاﺑﯽ. .6
ﻣﺤﺎﺳﺒﻪ زﻣﺎن اﻧﺒﺴﺎط ،systemﺧﺮاﺑﯽ و ﮐﻞ. .7
ﭼﺎپ زﻣﺎن ﻓﻌﻠﯽ ﭼﺎپ .8
ﭼﺎپ ﺟﺪول ﻓﺮﻣﺖ ﺷﺪه ﯾﺎ ﻓﻬﺮﺳﺖ ﺑﺎ ﺑﯿﺸﺘﺮ ﻣﻘﺎدﯾﺮ ﻗﺒﻠﯽ ذﺧﯿﺮه ﺷﺪه اﺳﺖ. .9
اﻟﺰاﻣﺎت
linuxﯾﺎ systemﻋﺎﻣﻞFreeBSD. .1
ﭘﺎﯾﺘﻮن 2.7ﯾﺎ .x install3ﺷﺪه اﻣﺎ آﺧﺮﯾﻦ ﻧﺴﺨﻪ ﺗﻮﺻﯿﻪ ﻣﯽ ﺷﻮد. .2
ﻣﺎژول ﻫﺎي ﭘﺎﯾﺘﻮن،platform ،locale ،datetime ،sqlite3 ،optparse ،os ، (sys .3
time). ،subprocess
ﻧﺤﻮه install tuptimeدر linux
اﺑﺘﺪا ﺑﺎﯾﺪ ﺑﺎ اﺟﺮاي دﺳﺘﻮر زﯾﺮ ﺑﻪ cloneﮐﺮدن ﻣﺨﺰن ﺑﭙﺮدازﯾﺪ:
git clone https://github.com/rfrail3/tuptime.git
149
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 150
150
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 151
tuptimeدر ﻋﻤﻞ
2.ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺧﺮوﺟﯽ را ﺑﺎ ﺗﺎرﯾﺦ و زﻣﺎن ﺑﻪ ﺻﻮرت زﯾﺮ ﻧﻤﺎﯾﺶ دﻫﯿﺪ.
'# tuptime - date = '٪H:٪M:٪S٪d-٪m-٪Y
151
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 152
4.ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﯾﮏ ﻓﺎﯾﻞ ﭘﺎﯾﮕﺎه داده ﺟﺎﯾﮕﺰﯾﻦ را ﺑﻪ ﺻﻮرت زﯾﺮ اﯾﺠﺎد ﮐﻨﯿﺪ.ﭘﺎﯾﮕﺎه داده در ﻓﺮﻣﺖ SQLiteاﯾﺠﺎد
ﺧﻮاﻫﺪ ﺷﺪ.
# tuptime --filedb /tmp/tuptime_testdb.db
152
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 153
153
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 154
ﯾﮏ ﻣﺪﯾﺮ systemاﻏﻠﺐ ﺑﺎﯾﺪ ﯾﮏ ﻓﺮﻣﺎن را ﺑﺎرﻫﺎ و ﺑﺎرﻫﺎ در ﯾﮏ دوره زﻣﺎﻧﯽ ﺧﺎص اﺟﺮا ﮐﻨﺪ.اﻏﻠﺐ اﯾﻦ ﮐﺎرﻫﺎ ﺑﻪ
راﺣﺘﯽ ﺑﺎ دﺳﺘﻮراﺗﺴﺎده cronﮐﺎﻣﻞ ﻣﯽ ﺷﻮد.در ﺑﯿﺸﺘﺮ ﻣﻮارد اﯾﻦ ﮐﺎر ﺑﺎﯾﺪ ﮐﺎر ﮐﻨﺪ ،اﻣﺎ ﮐﻮﺗﺎه ﺗﺮﯾﻦ دوره ﮐﻪ ﺷﻤﺎ ﻣﯽ
ﺗﻮاﻧﯿﺪ دﺳﺘﻮر cronرا اﺟﺮا ﮐﻨﯿﺪ ﻫﺮ 1دﻗﯿﻘﻪ اﺳﺖ.ﺑﺎور ﮐﻨﯿﺪ ﯾﺎ ﻧﻪ ،در ﺑﺴﯿﺎري از ﻣﻮارد اﯾﻦ ﺧﯿﻠﯽ آﻫﺴﺘﻪ اﺳﺖ.
در اﯾﻦ آﻣﻮزش ،ﺷﻤﺎ ﯾﮏ ﺗﮑﻨﯿﮏ اﺳﮑﺮﯾﭙﺖ ﺳﺎده ﺑﺮاي ﻧﻈﺎرت و ﻧﻈﺎرت ﺑﺮ ﯾﮏ ﻓﺮﻣﺎن ﺧﺎص در ﺣﺎﻟﺖ ﺑﻪ ﻃﻮر ﻣﺪاوم
در ﺣﺎل اﺟﺮا ﺷﺒﯿﻪ ﺑﻪ ﻓﺮﻣﺎن ﺑﺎﻻ )ﭘﯿﮕﯿﺮي روﻧﺪ و اﺳﺘﻔﺎده از )memoryﺑﺮاي ﻫﺮ 3ﺛﺎﻧﯿﻪ ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض ﯾﺎد
ﺑﮕﯿﺮﻧﺪ.
ﻣﺎ ﻣﺘﻮﻗﻒ ﻧﺨﻮاﻫﯿﻢ ﺑﻮد ﺑﻪ ﺑﺤﺚ در ﻣﻮرد دﻻﯾﻞ ،ﭼﺮا ﺷﻤﺎ ﺑﺎﯾﺪ اﻏﻠﺐ دﺳﺘﻮرات را اﺟﺮا ﮐﻨﯿﺪ.ﻣﻦ ﻣﻌﺘﻘﺪم ﮐﻪ ﻫﺮ ﮐﺲ
دﻻﯾﻞ ﻣﺨﺘﻠﻔﯽ در ﮐﺎرﻫﺎي روزاﻧﻪ ﺧﻮد و ﯾﺎ ﺣﺘﯽ در راﯾﺎﻧﻪ ﻫﺎي ﺷﺨﺼﯽ و ﻟﭗ ﺗﺎپ ﻫﺎي ﺧﺎﻧﮕﯽ دارد.
1.از Watchاﺳﺘﻔﺎده ﮐﻨﯿﺪ
Watchﯾﮏ ﻓﺮﻣﺎن linuxاﺳﺖ ﮐﻪ ﺑﻪ ﺷﻤﺎ اﻣﮑﺎن ﻣﯽ دﻫﺪ ﮐﻪ ﯾﮏ دﺳﺘﻮر ﯾﺎ ﺑﺮﻧﺎﻣﻪ را ﺑﻪ ﺻﻮرت دوره اي اﺟﺮا ﮐﻨﯿﺪ
و ﻫﻤﭽﻨﯿﻦ ﺧﺮوﺟﯽ را روي ﺻﻔﺤﻪ ﻧﻤﺎﯾﺶ ﻧﺸﺎن ﻣﯽ دﻫﺪ.اﯾﻦ ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺧﺮوﺟﯽ ﺑﺮﻧﺎﻣﻪ را
در زﻣﺎن ﺑﺒﯿﻨﯿﺪ.ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض ﺳﺎﻋﺖ اﺟﺮا ﻓﺮﻣﺎن /ﺑﺮﻧﺎﻣﻪ ﻫﺮ 2ﺛﺎﻧﯿﻪ.ﻓﺎﺻﻠﻪ را ﻣﯽ ﺗﻮان ﺑﻪ راﺣﺘﯽ ﺗﻐﯿﯿﺮ داد ﺗﺎ
ﻧﯿﺎزﻫﺎي ﺷﻤﺎ را ﺑﺮآورده ﮐﻨﺪ.
ﻧﻈﺎرت ﺑﺮ اﺳﺘﻔﺎده از memory
""watchﺑﺴﯿﺎر آﺳﺎن اﺳﺖ ﺑﺮاي اﺳﺘﻔﺎده از آن ،ﺑﺮاي آزﻣﺎﯾﺶ آن ،ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺑﻪ ﺳﺮﻋﺖ ﺗﺮﻣﯿﻨﺎل linuxرا
آﺗﺶ ﺑﺰﻧﯿﺪ و دﺳﺘﻮر زﯾﺮ را ﺗﺎﯾﭗ ﮐﻨﯿﺪ:
# watch free -m
دﺳﺘﻮر ﺑﺎﻻ memoryآزاد systemﺷﻤﺎ را ﺑﺮرﺳﯽ ﻣﯽ ﮐﻨﺪ و ﻧﺘﺎﯾﺞ ﻓﺮﻣﺎن آزادﻫﺮ دو ﺛﺎﻧﯿﻪ را ﺑﻪ روز ﻣﯽ ﮐﻨﺪ.
154
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 155
زﯾﺮ ﮔﺰﯾﻨﻪ ﻫﺎ و اﺳﺘﻔﺎده ﻫﺎي اراﺋﻪ ﺷﺪه ﺗﻮﺳﻂ دﺳﺘﻮر زﯾﺮ اﺳﺖ.
wc -l :ﺗﻌﺪاد ﺧﻄﻮط را در ﯾﮏ ﻓﺎﯾﻞ ﭼﺎپ ﻣﯽ ﮐﻨﺪ.
wc -w :ﺗﻌﺪاد ﮐﻠﻤﺎت را در ﯾﮏ ﻓﺎﯾﻞ ﭼﺎپ ﻣﯽ ﮐﻨﺪ.
wc -c :ﺗﻌﺪاد ﺑﺎﯾﺖ ﻫﺎ را در ﯾﮏ ﻓﺎﯾﻞ ﻧﺸﺎن ﻣﯽ دﻫﺪ.
wc -m :ﺗﻌﺪاد ﮐﺎراﮐﺘﺮﻫﺎي ﯾﮏ ﻓﺎﯾﻞ را ﭼﺎپ ﻣﯽ ﮐﻨﺪ.
wc -L :ﻓﻘﻂ ﻃﻮل ﻃﻮﻻﻧﯽ ﺗﺮﯾﻦ ﺧﻂ در ﯾﮏ ﻓﺎﯾﻞ را ﭼﺎپ ﻣﯽ ﮐﻨﺪ.
ﺑﻨﺎﺑﺮاﯾﻦ ،ﺑﯿﺎﯾﯿﺪ ﺑﺒﯿﻨﯿﻢ ﭼﮕﻮﻧﻪ ﻣﯽ ﺗﻮاﻧﯿﻢ از دﺳﺘﻮر wcاﺳﺘﻔﺎده ﮐﻨﯿﻢ ﺑﺎ ﺗﻌﺪاد ﭼﻨﺪ اﺳﺘﺪﻻل و ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﻮﺟﻮد در
اﯾﻦ ﮐﺘﺎب.ﻣﺎ از ﻓﺎﯾﻞ hosein .txtﺑﺮاي آزﻣﺎﯾﺶ دﺳﺘﻮرات اﺳﺘﻔﺎده ﮐﺮده اﯾﻢ.ﺑﯿﺎﯾﯿﺪ ﺧﺮوﺟﯽ ﻓﺎﯾﻞ را ﺑﺎ اﺳﺘﻔﺎده از
دﺳﺘﻮر catﺑﻪ زﯾﺮ ﻧﺸﺎن ﺑﺪﻫﯿﻢ.
[ root@ hosein ~] # cat hosein .txt
155
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 156
156
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 157
wget
ﻗﺼﺪ دارﯾﻢ اﺑﺰار wgetرا ﺑﺮرﺳﯽ ﮐﻨﯿﻢ ﮐﻪ ﻓﺎﯾﻞ ﻫﺎ را از وب ﺳﺎﯾﺖ ﺟﻬﺎﻧﯽ ) ( WWWﺑﺎزﯾﺎﺑﯽ ﻣﯽ ﮐﻨﺪ ﺑﺎ اﺳﺘﻔﺎده
از ﭘﺮوﺗﮑﻞ ﻫﺎي ﮔﺴﺘﺮده ﻣﺎﻧﻨﺪ HTTPS ،HTTPو FTP .اﺑﺰار Wgetﺑﺴﺘﻪ آزاداﻧﻪ ﻣﻮﺟﻮد اﺳﺖ و ﻣﺠﻮز ﺗﺤﺖ
ﻣﺠﻮز GNU GPLاﺳﺖ.اﯾﻦ اﺑﺰار ﻣﯽ ﺗﻮاﻧﺪ ﻫﺮ systemﻋﺎﻣﻞ ﯾﻮﻧﯿﮑﺲ ﻣﺎﻧﻨﺪWindowsو MAC OSرا
installﮐﻨﺪ.اﯾﻦ ﯾﮏ اﺑﺰار ﺧﻂ ﻓﺮﻣﺎن ﻏﯿﺮ ﺗﻌﺎﻣﻠﯽ اﺳﺖ.وﯾﮋﮔﯽ اﺻﻠﯽ Wgetآن اﺳﺘﺤﮑﺎم اﺳﺖ.اﯾﻦ ﺑﻪ ﻃﻮري
ﻃﺮاﺣﯽ ﺷﺪه اﺳﺖ ﮐﻪ در اﺗﺼﺎﻻت ﺷﺒﮑﻪ آﻫﺴﺘﻪ ﯾﺎ ﻧﺎﭘﺎﯾﺪار ﺷﺒﮑﻪ ﮐﺎر ﮐﻨﺪ .Wgetﺑﻪ ﺻﻮرت ﺧﻮدﮐﺎر ﺷﺮوع ﺑﻪ
downloadﻣﯿﮑﻨﺪ و در ﺻﻮرت ﻣﺸﮑﻠﯽ در ﺷﺒﮑﻪ ،آن را ﺗﺮك ﮐﺮد.ﻫﻤﭽﻨﯿﻦ ﻓﺎﯾﻠﻬﺎ را ﺑﻪ ﺻﻮرت ﺑﺎزﮔﺸﺘﯽ ﺑﺎرﮔﯿﺮي
ﻣﯽ ﮐﻨﺪ.اﯾﻦ ﺗﻼش را اداﻣﻪ ﺧﻮاﻫﺪ داد ﺗﺎ ﻓﺎﯾﻞ ﺑﻪ ﻃﻮر ﮐﺎﻣﻞ ﺑﺎزﯾﺎﺑﯽ ﺷﻮد.
wget-1.12-1.4.el6.i686
ﻟﻄﻔﺎ آن را ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر YUMinstallﮐﻨﯿﺪ در ﺻﻮرﺗﯽ ﮐﻪ wgetﻗﺒﻼ installﻧﺸﺪه ﯾﺎ ﺷﻤﺎ ﻫﻤﭽﻨﯿﻦ ﻣﯽ
ﺗﻮاﻧﯿﺪ ﺑﺴﺘﻪ ﺑﺎﯾﻨﺮي را در http://ftp.gnu.org/gnu/wget/downloadﮐﻨﯿﺪ.
# yum - install wget
ﮔﺰﯾﻨﻪ -yﮐﻪ در اﯾﻨﺠﺎ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد ،ﻗﺒﻞ از installﻫﺮ ﺑﺴﺘﻪ ،ﭘﯿﺸﮕﯿﺮي از ﺗﺄﯾﯿﺪ ﭘﯿﺸﮕﯿﺮي اﺳﺖ.ﺑﺮاي ﻣﺜﺎل
ﻧﻤﻮﻧﻪ و ﮔﺰﯾﻨﻪ ﻫﺎي دﺳﺘﻮر YUMﺑﯿﺸﺘﺮ از 20دﺳﺘﻮراﻟﻌﻤﻞ YUMﺑﺮاي ﻣﺪﯾﺮﯾﺖ ﺑﺴﺘﻪ ﺑﻨﺪي linuxاﺳﺘﻔﺎده ﻣﯽ
ﺷﻮد.
.داﻧﻠﻮد ﻓﺎﯾﻞ ﺗﻨﻬﺎ
ﻓﺮﻣﺎن ﯾﮏ ﻓﺎﯾﻞ و ﻓﺮوﺷﮕﺎه را در ﯾﮏ داﯾﺮﮐﺘﻮري ﺟﺎري downloadﻣﯽ ﮐﻨﺪ.ﻫﻤﭽﻨﯿﻦ در ﺣﺎل ﺑﺎرﮔﯿﺮي ﭘﯿﺸﺮﻓﺖ ،
اﻧﺪازه ،ﺗﺎرﯾﺦ و زﻣﺎن downloadرا ﻧﺸﺎن ﻣﯽ دﻫﺪ.
# wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
157
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 158
.ﺑﺎزﺧﻮاﻧﯽ downloadﻧﺎﺗﻤﺎم
در ﺻﻮرت downloadﻓﺎﯾﻞ ﺑﺰرگ ،ﻣﻤﮑﻦ اﺳﺖ ﺑﻌﻀﯽ وﻗﺖ ﻫﺎ ﺑﺮاي ﺟﻠﻮﮔﯿﺮي از downloadدر اﯾﻦ ﻣﻮرد اﺗﻔﺎق
ﺑﯿﻔﺘﺪ ،ﻣﺎ ﻣﯽ ﺗﻮاﻧﯿﻢ ﻓﺎﯾﻞ ﻣﺸﺎﺑﻬﯽ را ﮐﻪ در آن ﺑﺎ ﮔﺰﯾﻨﻪ -cﮐﻨﺎر ﮔﺬاﺷﺘﻪ ﺷﺪ download ،ﮐﻨﯿﺪ.اﻣﺎ ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﺷﻤﺎ
ﺷﺮوع ﺑﻪ downloadﻓﺎﯾﻞ ﺑﺪون ﻣﺸﺨﺺ ﮐﺮدن -cﮔﺰﯾﻨﻪ wgetاﺿﺎﻓﻪ ﺧﻮاﻫﺪ ﺷﺪ .1ﭘﺴﻮﻧﺪ در ﭘﺎﯾﺎن ﻓﺎﯾﻞ ،ﺑﺎ ﺗﻮﺟﻪ
ﺑﻪ ﻋﻨﻮان downloadﺗﺎزه.ﺑﻨﺎﺑﺮاﯾﻦ ،ﺗﻤﺮﯾﻦ ﺧﻮﺑﯽ ﺑﺮاي اﺿﺎﻓﻪ ﮐﺮدن -cﻫﻨﮕﺎم ﺑﺎرﮔﯿﺮي ﻓﺎﯾﻠﻬﺎي ﺑﺰرگ اﺳﺖ.
# wget -c http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-
LiveDVD.iso
158
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 159
mkdir / rm / rmdir
mkdirﺑﺮاي اﯾﺠﺎد داﯾﺮﮐﺘﻮري ﺟﺪﯾﺪ و emptyاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد:
mkdir c
159
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 160
اﻧﺘﻘﺎل و ﮐﭙﯽ ﮐﺮدن ﻓﺎﯾﻞ ﻫﺎ ،اﯾﺠﺎد ﻟﯿﻨﮏ ﻫﺎ ،ﺗﺎرﯾﺨﭽﻪ دﺳﺘﻮر
mv / cp / ln
mvﯾﮏ ﻓﺎﯾﻞ ﯾﺎ ﻓﻬﺮﺳﺖ را اﻧﺘﻘﺎل ﻣﯽ دﻫﺪ
mv /ali/a.txt /bahram/
دﺳﺘﻮر ﺗﺎرﯾﺨﭽﻪ
bashداراي دو وﯾﮋﮔﯽ ﺑﺰرگ اﺳﺖ ﮐﻪ ﺑﻪ ﺷﻤﺎ ﮐﻤﮏ ﻣﯽ ﮐﻨﺪ دﺳﺘﻮرات ﮐﺎﻣﻞ و دوﺑﺎره اﺟﺮا ﮐﻨﯿﺪ ،ﺑﻪ ﺳﺎدﮔﯽ ﻗﺴﻤﺖ
اول ﯾﮏ دﺳﺘﻮر را ﺗﺎﯾﭗ ﮐﻨﯿﺪ ،ﮐﻠﯿﺪ > <tabرا ﺑﺰﻧﯿﺪ و ﺗﺮﻣﯿﻨﺎل ﺣﺪس ﻣﯿﺰﻧﺪ ﭼﻪ ﮐﺎري اﻧﺠﺎم ﻣﯿﺨﻮاﻫﯿﺪ اﻧﺠﺎم دﻫﯿﺪ.
>ls<ENTER
>ls t <TAB
ﺑﺎ دﺳﺘﻮر tabدﺳﺘﻮر ﺷﻤﺎ ﮐﺎﻣﻞ ﻣﯽ ﺷﻮد.
bashﯾﮏ ﺗﺎرﯾﺨﭽﻪ ﮐﻮﺗﺎه از دﺳﺘﻮرات را ﮐﻪ ﻗﺒﻼ وارد ﮐﺮده اﯾﺪ ﻧﮕﻪ ﻣﯽ دارد و اﺟﺎزه ﻣﯽ دﻫﺪ ﺗﺎ از ﻃﺮﯾﻖ آن
دﺳﺘﻮرات را ﺑﺎ ﺗﺎﯾﭗ ﮐﺮدن
(Ctrl + rﺟﺴﺘﺠﻮ ﮐﻨﯿﺪ.
درﺧﺘﺎن راﻫﻨﻤﺎﯾﯽ ،اﺳﺘﻔﺎده از دﯾﺴﮏ ،و ﻓﺮآﯾﻨﺪﻫﺎ
tree
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﭘﻮﺷﻪ ﻫﺎي emptyدر ﺧﺮوﺟﯽ درﺧﺖ ﻧﺸﺎن دﻫﯿﺪ.
tree
clear
ﺑﺮاي ﭘﺎﮐﺴﺎزي ﻓﻀﺎي ﮐﺎري ﺷﻤﺎ ﺧﻮب اﺳﺖ .ﯾﺎ ﮐﻠﯿﺪ ﻣﯿﺎﻧﺒﺮ ctrl +l
$ clear
دﯾﺴﮏ memory ،و اﺳﺘﻔﺎده از ﭘﺮدازﻧﺪه
160
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 161
ncdu
) ncduاﺳﺘﻔﺎده از (Disk Usage NCursesﯾﮏ ﻣﺮور ﮐﻠﯽ ﻗﺎﺑﻞ اﺳﺘﻔﺎده ﺑﺮاي اﺳﺘﻔﺎده از ﻓﻀﺎي ﻓﺎﯾﻞ را ﻓﺮاﻫﻢ
ﻣﯽ ﮐﻨﺪ
| hossein@pc01 ~ | ncdu
htop
ﻧﻤﺎﯾﺶ ﺗﻤﺎم ﻓﺮآﯾﻨﺪﻫﺎي در ﺣﺎل ﺣﺎﺿﺮ در ﺣﺎل اﺟﺮا و ﺻﺎﺣﺒﺎن آﻧﻬﺎ ،اﺳﺘﻔﺎده از memoryرا ﻧﺸﺎن ﻣﯿﺪﻫﺪ.
hossein@pc01 ~ | htop
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
9389 hossein 20 0 23344 3848 2848 R 1.3 0.0 0:00.10 htop
10103 root 20 0 3216M 17896 2444 S 0.7 0.0 5h48:56 /usr/bin/dockerd
1 root 20 0 181M 4604 2972 S 0.0 0.0 15:29.66 /lib/systemd/syst
533 root 20 0 44676 6908 6716 S 0.0 0.0 19.77 /lib/systemd/syst
ﻣﺘﻐﯿﺮﻫﺎي ﻣﺤﯿﻄﯽ و ﻧﺎم ﻣﺴﺘﻌﺎر
ﻣﺘﻐﯿﺮﻫﺎي ﻣﺤﯿﻄﯽ )ﮔﺎﻫﯽ اوﻗﺎت ﺑﻪ " "env varsﮐﻮﺗﺎه ﻣﯽ ﺷﻮﻧﺪ( ﻣﺘﻐﯿﺮﻫﺎي ﭘﺎﯾﺪار ﻫﺴﺘﻨﺪ ﮐﻪ ﻣﯽ ﺗﻮاﻧﻨﺪ در ﭘﻮﺳﺘﻪ
bashﺷﻤﺎ اﯾﺠﺎد و اﺳﺘﻔﺎده ﺷﻮﻧﺪ .آﻧﻬﺎ ﺑﺎ ﻋﻼﻣﺖ ﺑﺮاﺑﺮ ) = ( ﺗﻌﺮﯾﻒ ﺷﺪه و ﺑﺎ ﻋﻼﻣﺖ دﻻر ) ( $اﺳﺘﻔﺎده ﻣﯽ ﺷﻮﻧﺪ.
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﺗﻤﺎم ﺗﻨﻈﯿﻤﺎت ﻓﻌﻠﯽ ﺗﻌﺮﯾﻒ ﺷﺪه را ﺑﺎ printenvﺑﺒﯿﻨﯿﺪ
14:33 | hossein@pc01 ~ | printenv
SPARK_HOME=/usr/local/spark
TERM=xterm
161
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 162
ﻧﺎم ﻣﺴﺘﻌﺎر
ﻧﺎم ﻣﺴﺘﻌﺎر ﺷﺒﯿﻪ ﺑﻪ ﻣﺘﻐﯿﺮﻫﺎي ﻣﺤﯿﻄﯽ اﺳﺖ ،اﻣﺎ ﻣﻌﻤﻮﻻ ﺑﻪ ﺻﻮرت ﻣﺘﻔﺎوﺗﯽ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد -ﺑﺮاي ﺟﺎﯾﮕﺰﯾﻨﯽ
دﺳﺘﻮرات ﻃﻮﻻﻧﯽ ﺑﺎ آن ﻫﺎ ﮐﻮﺗﺎه ﺗﺮ
14:44 | hossein@pc01 apidocs | ls-l-a-h-t
total 220K
drwxr-xr-x 5 hossein hossein 4.0K Dec 21 12:37 .
-rw-r --r -- 1 hossein hossein 9.9K Dec 21 12:37 help-doc.html
-rw-r --r -- 1 hossein hossein 4.5K Dec 21 12:37 script.js
دﺳﺘﻮر ﮐﻮﺗﺎه ﺷﺪه
"14:44 | hossein@pc01 apidocs | alias lc="ls -l -a -h -t
$ lc
ﻟﻐﻮ دﺳﺘﻮر
unalias lc
curl http://releases.ubuntu.com/18.10/ubuntu-18.10-desktop-amd64.iso
162
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 163
163
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 164
164
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 165
165
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 166
166
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 167
167
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 168
168
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 169
ارﺗﻘﺎ system
اﯾﻦ ﺑﻪ ﺷﻤﺎ ﮐﻤﮏ ﻣﯽ ﮐﻨﺪ ﺗﺎ ﻧﺴﺨﻪ ﻫﺎي ﺟﺪﯾﺪي از ﺗﻤﺎم ﺑﺴﺘﻪ ﻫﺎي ﻣﻮﺟﻮد در systemﺧﻮد را installﮐﻨﯿﺪ.
$ sudo apt update
ارﺗﻘﺎ system
ﺣﺬف ﺑﺴﺘﻪ ﻫﺎي اﺳﺘﻔﺎده ﻧﺸﺪه
ﻫﻨﮕﺎم installﯾﮏ ﺑﺴﺘﻪ ﺟﺪﯾﺪ در systemﺧﻮد ،واﺑﺴﺘﮕﯽ ﻫﺎ ﻧﯿﺰ installﺷﺪه اﻧﺪ و از ﺑﺮﺧﯽ از ﮐﺘﺎبhome
ﻫﺎي systemﺑﺎ ﺑﺴﺘﻪ ﻫﺎي دﯾﮕﺮ اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﻨﺪ.ﭘﺲ از ﺣﺬف اﯾﻦ ﺑﺴﺘﻪ ﺧﺎص ،واﺑﺴﺘﮕﯽ ﻫﺎ در systemﺑﺎﻗﯽ
ﺧﻮاﻫﻨﺪ ﻣﺎﻧﺪ ،ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺮاي ﺣﺬف آﻧﻬﺎ از autoremoveﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد:
$ sudo apt autoremove
169
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 170
installﺑﺴﺘﻪ Deb
170
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 171
apt-getﭼﯿﺴﺖ؟
اﺑﺰار apt-getﯾﮏ ﺑﺮﻧﺎﻣﻪ ﻓﺮﻣﺎن ﺧﻂ ﻓﺮﻣﺎن ﻗﺪرﺗﻤﻨﺪ و freeاﺳﺖ ﮐﻪ ﺑﺮاي ﮐﺎر ﺑﺎ ﮐﺘﺎبAPT Ubuntu ( home
) Advanced Packaging Toolﺑﺮاي installﺑﺴﺘﻪ ﻫﺎي ﻧﺮم اﻓﺰاري ﺟﺪﯾﺪ ،ﺣﺬف ﺑﺴﺘﻪ ﻫﺎي ﻧﺮم اﻓﺰاري
ﻣﻮﺟﻮد ،ارﺗﻘﺎء ﺑﺴﺘﻪ ﻫﺎ ي ﻧﺮم اﻓﺰاري ﻣﻮﺟﻮد و ﺣﺘﯽ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد .ﺑﺮاي ارﺗﻘﺎي ﮐﻞ systemﻋﺎﻣﻞ اﺳﺘﻔﺎده ﻣﯽ
ﺷﻮد.
apt-cacheﭼﯿﺴﺖ؟
اﺑﺰار ﺧﻂ ﻓﺮﻣﺎن apt-cacheﺑﺮاي ﺟﺴﺘﺠﻮي ﺑﺴﺘﻪ ﺑﻨﺪي ﺑﺴﺘﻪ ﻧﺮم اﻓﺰاري ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿﺮد.ﺑﻪ ﻋﺒﺎرت
ﺳﺎده ،اﯾﻦ اﺑﺰار ﺑﺮاي ﺟﺴﺘﺠﻮ ﺑﺴﺘﻪ ﻫﺎي ﻧﺮم اﻓﺰاري ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿﺮد ،اﻃﻼﻋﺎت ﺑﺴﺘﻪ ﻫﺎ را ﺟﻤﻊ آوري ﻣﯽ
ﮐﻨﺪ و ﻫﻤﭽﻨﯿﻦ ﺑﺮاي ﺟﺴﺘﺠﻮ ﺑﺮاي ﺑﺴﺘﻪ ﻫﺎي ﻣﻮﺟﻮد ﺑﺮاي installدر systemﻫﺎي ﻣﺒﺘﻨﯽ ﺑﺮ دﺑﯿﺎن ﯾﺎ ubuntu
ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿﺮد.
171
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 172
172
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 173
173
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 174
174
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 175
ﻓﺮﻣﺎنATQ
دﺳﺘﻮر atqﺑﺮاي ﻣﺸﺎﻫﺪه ﻣﺸﺎﻏﻞ در ﺻﻒ ﻓﺮﻣﺎن اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد:
$ atq
ﻓﺮﻣﺎن atrm
دﺳﺘﻮر atrmﺑﺮاي ﺣﺬف /ﺣﺬف ﺷﻐﻞ )ﺷﻨﺎﺳﺎﯾﯽ ﺷﺪه ﺗﻮﺳﻂ ﺷﻤﺎره ﺷﻐﻞ ﺧﻮد( از در ﺻﻒ ﻓﺮﻣﺎن اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد:
$ atrm 2
دﺳﺘﻪ اي ﻧﯿﺰ ﺑﺮاي ﺑﺮﻧﺎﻣﻪ رﯾﺰي وﻇﺎﯾﻒ ﺑﺮاي اﺟﺮاي ﯾﮏ زﻣﺎن آﯾﻨﺪه اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد ،ﺷﺒﯿﻪ ﺑﻪ ﻓﺮﻣﺎن.
دﺳﺘﻮر ﻓﺮﻣﺎنbasename
ﻓﺮﻣﺎن basenameﮐﻤﮏ ﻣﯽ ﮐﻨﺪ ﺗﺎ ﻧﺎم ﻓﺎﯾﻞ ﺳﻨﺪ ﺳﺎزي داﯾﺮﮐﺘﻮري ﻫﺎ را در ﻣﺴﯿﺮ ﻣﻄﻠﻖ ﭼﺎپ ﮐﻨﯿﺪ:
$ basename bin / findhosts.sh
در اﯾﻦ آﻣﻮزش ،ﻣﺎ در ﻣﻮرد ﻧﺤﻮه ﻓﺸﺮده ﺳﺎزي و ﻓﺸﺮده ﺳﺎزي ﻓﺎﯾﻞ ﻫﺎي .bz2ﺑﺎ اﺳﺘﻔﺎده از اﺑﺰار bzip2در linux
ﺧﻮاﻫﯿﻢ دﯾﺪ.
Bzip2ﯾﮏ اﺑﺰار ﻓﺸﺮده ﺳﺎزي ﺷﻨﺎﺧﺘﻪ ﺷﺪه اﺳﺖ و در ﺑﯿﺸﺘﺮ ﯾﺎ ﻧﻪ ﻫﻤﻪ ﺗﻮزﯾﻊ ﻫﺎي linuxﻣﻬﻢ اﺳﺖ ،ﻣﯿﺘﻮاﻧﯿﺪ از
دﺳﺘﻮر ﻣﻨﺎﺳﺐ ﺑﺮاي ﺗﻮزﯾﻊ ﺧﻮد ﺑﺮاي installآن اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
$ sudo apt install bzip2
$ sudo yum install bzip2
$ sudo dnf install bzip2
ﻧﺤﻮه اﺳﺘﻔﺎده ﻣﻌﻤﻮﻟﯽ bzip2 :
ﻧﺤﻮه اﺳﺘﻔﺎده از bzip2ﺑﺮاي ﻓﺸﺮده ﺳﺎزي ﻓﺎﯾﻞ ﻫﺎ در linux
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﻓﺎﯾﻞ زﯾﺮ را ﻓﺸﺮده ﮐﻨﯿﺪ ،ﺟﺎﯾﯽ ﮐﻪ ﭘﺮﭼﻢ -zﻓﺸﺮده ﺳﺎزي ﻓﺎﯾﻞ را ﻓﻌﺎل ﻣﯽ ﮐﻨﺪ:
$ bzip2 filename
ﯾﺎ
$ bzip2 -z myfoldername
ﺑﺮاي ﻓﺸﺮده ﺳﺎزي ﯾﮏ ﻓﺎﯾﻞ .tarﺑﺎ اﺳﺘﻔﺎده از ﻓﺮﻣﺎن ﻓﺮﻣﺎن:
$ bzip2-z backup.tar
ﻣﻬﻢ :ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮضbzip2 ،ﻓﺎﯾﻠﻬﺎي ورودي را در ﻫﻨﮕﺎم ﻓﺸﺮده ﺳﺎزي ﯾﺎ ﻓﺸﺮده ﺳﺎزي ﺣﺬف ﻣﯽ ﮐﻨﺪ ،ﺑﺮاي
keep--ﮐﻨﯿﺪ. ﺣﻔﻆ ﻓﺎﯾﻞ ﻫﺎي ورودي ،از ﮔﺰﯾﻨﻪ -kﯾﺎ
force force bzip2 --را ﻣﺠﺒﻮر ﺑﻪ ﺑﺎزﻧﻮﯾﺴﯽ ﯾﮏ ﻓﺎﯾﻞ ﺧﺮوﺟﯽ ﻣﻮﺟﻮد ﻣﯽ ﮐﻨﺪ. ﻋﻼوه ﺑﺮ اﯾﻦ ،ﭘﺮﭼﻢ -fﯾﺎ
ﺑﺮاي ﻧﮕﻪ داﺷﺘﻦ ﻓﺎﯾﻞ ورودي -- -- -- -- -- --
175
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 176
176
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 177
ﺑﺮاي ﻣﺸﺎﻫﺪه ﺻﻔﺤﻪ راﻫﻨﻤﺎي راﻫﻨﻤﺎ bzip2و ﺻﻔﺤﻪ ، manدﺳﺘﻮر زﯾﺮ را ﺗﺎﯾﭗ ﮐﻨﯿﺪ:
$ bzip2 -h
$ man bzip2
در ﻧﻬﺎﯾﺖ ،ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺿﯿﺤﺎت ﺳﺎده ﺑﺎﻻ ،ﻣﻦ ﻣﻌﺘﻘﺪم ﮐﻪ ﺷﻤﺎ در ﺣﺎل ﺣﺎﺿﺮ ﻗﺎدر ﺑﻪ ﻓﺸﺮده ﺳﺎزي و ﻓﺸﺮده ﺳﺎزي
ﻓﺎﯾﻞ ﻫﺎي .bz2ﺑﺎ اﺳﺘﻔﺎده از اﺑﺰار bzip2در linuxﻫﺴﺘﯿﺪ.ﺑﺎ اﯾﻦ ﺣﺎل ،ﺑﺮاي ﻫﺮ ﮔﻮﻧﻪ ﺳﻮال و ﯾﺎ ﺑﺎزﺧﻮرد ،ﺑﺎ اﺳﺘﻔﺎده
از ﺑﺨﺶ ﻧﻈﺮات زﯾﺮ ،ﺑﻪ ﻣﺎ ﺑﭙﯿﻮﻧﺪﯾﺪ.
ﺣﺬف ﯾﮏ ﮐﺎرﺑﺮ
17:53 | hossein@pc01 ~ | sudo userdel aardvark && au_apt
ﻓﺮﻣﺎنadduser / addgroup
ﻫﻤﻪ ﻣﺎ در ﻣﻮرد ﻣﺤﺒﻮب ﺗﺮﯾﻦ ﻓﺮﻣﺎن ﺑﻪ ﻧﺎم ' ' useraddﯾﺎ ' ' adduserدر linuxآﮔﺎﻫﯿﻢ .زﻣﺎﻧﯿﮑﻪ ﯾﮏ ﻣﺪﯾﺮ
linux systemﺧﻮاﺳﺘﻪ اﯾﺠﺎد ﺣﺴﺎب ﮐﺎرﺑﺮي در linuxﺑﺎ ﺑﺮﺧﯽ از وﯾﮋﮔﯽ ﻫﺎي ﺧﺎص ،ﻣﺤﺪودﯾﺖ ﻫﺎ و ﯾﺎ ﻧﻈﺮات
اﺳﺖ .
در linuxﯾﮏ دﺳﺘﻮر useraddﯾﮏ اﺑﺰار ﺳﻄﺢ ﭘﺎﯾﯿﻦ اﺳﺖ ﮐﻪ ﺑﺮاي اﺿﺎﻓﻪ ﮐﺮدن /اﯾﺠﺎد ﺣﺴﺎب ﻫﺎي ﮐﺎرﺑﺮي در
linuxو ﺳﺎﯾﺮ systemﻋﺎﻣﻞ ﻫﺎي ﻣﺸﺎﺑﻪ ﯾﻮﻧﯿﮑﺲ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد. adduserﺑﺴﯿﺎر ﺷﺒﯿﻪ ﺑﻪ دﺳﺘﻮر useradd
اﺳﺖ ،زﯾﺮا ﻓﻘﻂ ﯾﮏ ﻟﯿﻨﮏ ﻧﻤﺎدﯾﻦ ﺑﻪ آن اﺳﺖ
177
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 178
ر ﺑﻌﻀﯽ ﺗﻮزﯾﻊ ﻫﺎي linuxدﯾﮕﺮ ،دﺳﺘﻮر useraddﻣﻤﮑﻦ اﺳﺖ ﺑﺎ ﻧﺴﺨﻪ ﻫﺎي ﻣﺨﺘﻠﻒ ﺗﻔﺎوت داﺷﺘﻪ ﺑﺎﺷﺪ .ﭘﯿﺶ از
اﺳﺘﻔﺎده از دﺳﺘﻮراﻟﻌﻤﻞ ﻫﺎي ﺷﻤﺎ ﺑﺮاي اﯾﺠﺎد ﺣﺴﺎب ﻫﺎي ﮐﺎرﺑﺮي ﺟﺪﯾﺪ در ، linuxﺷﻤﺎ ﻗﺒﻞ از اﺳﺘﻔﺎده از اﺳﻨﺎد
ﺧﻮد ﺑﻪ ﺧﻮاﻧﺪن ﭘﯿﺸﻨﻬﺎد ﻣﯽ ﮐﻨﯿﺪ .
ﻫﻨﮕﺎم اﺟﺮاي ﻓﺮﻣﺎن " " useraddدر ﺗﺮﻣﯿﻨﺎل ،linuxﻣﻮارد زﯾﺮ را اﻧﺠﺎم ﻣﯽ دﻫﺪ :
اﯾﻦ وﯾﺮاﯾﺶ/ etc / group ،/ etc / shadow ، / etc / passwdو / etc / gshadowﻓﺎﯾﻞ .1
ﺑﺮاي ﺣﺴﺎب ﮐﺎرﺑﺮي ﺗﺎزه اﯾﺠﺎد ﺷﺪه اﺳﺖ .
اﯾﺠﺎد ﯾﮏ ﭘﻮﺷﻪ homeﺑﺮاي ﮐﺎرﺑﺮ ﺟﺪﯾﺪ اﯾﺠﺎد ﻣﯽ ﮐﻨﺪ . .2
ﻣﺠﻮز ﻫﺎ و ﻣﺎﻟﮑﯿﺖ ﻫﺎ را ﺑﻪ داﯾﺮﮐﺘﻮري ﺧﺎﻧﮕﯽ ﺗﻨﻈﯿﻢ ﻣﯽ ﮐﻨﺪ . .3
useradd [ .4ﮔﺰﯾﻨﻪ ﻫﺎ[ ﻧﺎم ﮐﺎرﺑﺮي
ﻓﺮﻣﺎن adduserو addgroupﺑﺮاي اﺿﺎﻓﻪ ﮐﺮدن ﯾﮏ ﮐﺎرﺑﺮ و ﮔﺮوه ﺑﻪ systemﺑﻪ ﺗﺮﺗﯿﺐ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﭘﯿﮑﺮﺑﻨﺪي
ﭘﯿﺶ ﻓﺮض در ﻓﺎﯾﻞ /etc/adduser.confاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
$ sudo adduser hosein
ﺟﺪﯾﺪ ﺑﻪ ﻧﺎم ، hoseinاز دﺳﺘﻮر زﯾﺮ اﺳﺘﻔﺎده ﮐﻨﯿﺪ.
[ root@ hosein ~] # useradd hosein
ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﻣﺎ ﯾﮏ ﮐﺎرﺑﺮ ﺟﺪﯾﺪ را در linuxﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر useraddاﺿﺎﻓﻪ ﻣﯽ ﮐﻨﯿﻢ ،آن را در ﺣﺎﻟﺖ ﻗﻔﻞ
ﺷﺪه اﯾﺠﺎد ﻣﯽ ﮐﻨﯿﻢ و ﺑﺮاي ﺑﺎز ﮐﺮدن ﻗﻔﻞ آن ﺣﺴﺎب ﮐﺎرﺑﺮي ،ﺑﺎﯾﺪ ﯾﮏ رﻣﺰ ﻋﺒﻮر ﺑﺮاي آن ﺣﺴﺎب ﺑﺎ ﻓﺮﻣﺎن "
" passwdﺗﻨﻈﯿﻢ ﮐﻨﯿﻢ.
[ root@ hosein ~] # passwd hosein
ﺗﻐﯿﯿﺮ رﻣﺰ ﻋﺒﻮر ﺑﺮاي hoseinﮐﺎرﺑﺮ
رﻣﺰ ﯾﻮﻧﯿﮑﺲ ﺟﺪﯾﺪ:
دوﺑﺎره رﻣﺰ ﺟﺪﯾﺪ ﯾﻮﻧﯿﮑﺲ را ﺗﺎﯾﭗ ﮐﻨﯿﺪ:
passwd:ﺗﻤﺎم ﺷﻨﺎﺳﻪ ﻫﺎي ﺗﺄﯾﯿﺪ اﻋﺘﺒﺎر ﺑﻪ ﻃﻮر ﻣﻮﻓﻘﯿﺖ آﻣﯿﺰ ﺑﻪ روز ﺷﺪ.
ﭘﺲ از اﯾﺠﺎد ﯾﮏ ﮐﺎرﺑﺮ ﺟﺪﯾﺪ ،اﯾﻦ ورودي ﺑﻪ ﻃﻮر ﺧﻮدﮐﺎر ﺑﻪ ﻓﺎﯾﻞ / etc / passwdاﺿﺎﻓﻪ ﻣﯽ ﺷﻮد.اﯾﻦ ﭘﺮوﻧﺪه
ﺑﺮاي ذﺧﯿﺮه اﻃﻼﻋﺎت ﮐﺎرﺑﺮان اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد و ﺑﺎﯾﺪ وارد ﺷﻮد
hosein : x: 504: 504: hosein : / home / hosein : / bin / bash
ورودي ﺑﺎﻻ ﺷﺎﻣﻞ ﻣﺠﻤﻮﻋﻪ اي از ﻫﻔﺖ ردﯾﻒ ﺟﺪا ﺷﺪه از روده اﺳﺖ ،ﻫﺮ ﻓﯿﻠﺪ داراي ﻣﻌﻨﺎي ﺧﺎﺻﯽ اﺳﺖ.ﺑﯿﺎﯾﯿﺪ
ﺑﺒﯿﻨﯿﻢ ﮐﻪ اﯾﻦ ﻓﯿﻠﺪﻫﺎ ﭼﻪ ﻫﺴﺘﻨﺪ:
ﻧﺎم ﮐﺎرﺑﺮي :ورود ﺑﻪ systemﮐﺎرﺑﺮ ﺑﺮاي ورود ﺑﻪ systemاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.اﯾﻦ ﺑﺎﯾﺪ ﺑﯿﻦ 1ﺗﺎ 32ﭼﻬﺮه ﻃﻮﻻﻧﯽ ﺑﺎﺷﺪ. .1
رﻣﺰ ﻋﺒﻮر :رﻣﺰ ﻋﺒﻮر ﮐﺎرﺑﺮ )ﯾﺎ ﺷﺨﺼﯿﺖ ) xذﺧﯿﺮه ﺷﺪه در ﻓﺎﯾﻞ / etc / shadowدر ﻗﺎﻟﺐ رﻣﺰﮔﺬاري ﺷﺪه. .2
178
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 179
ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮ (UID) :ﻫﺮ ﮐﺎرﺑﺮ ﺑﺎﯾﺪ ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮ ﺷﻨﺎﺳﻪ ) (UIDرا داﺷﺘﻪ ﺑﺎﺷﺪ.ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض UID 0ﺑﺮاي ﮐﺎرﺑﺮ .3
rootﻣﺤﻔﻮظ اﺳﺖ و ﻣﺤﺪوده UID 1-99ﺑﺮاي ﺳﺎﯾﺮ ﺣﺴﺎﺑﻬﺎي از ﭘﯿﺶ ﺗﻌﺮﯾﻒ ﺷﺪه رزرو ﺷﺪه اﺳﺖ .UIDﻫﺎي ﺑﯿﺸﺘﺮ از 999-100
ﺑﺮاي ﺣﺴﺎب ﻫﺎي systemو ﮔﺮوه ﻫﺎ اﺳﺖ.
ﺷﻨﺎﺳﻪ ﮔﺮوه (GID) :ﺷﻤﺎره ﺷﻨﺎﺳﺎﯾﯽ ﮔﺮوه ﮔﺮوه اﺻﻠﯽ ) (GIDذﺧﯿﺮه ﺷﺪه در ﻓﺎﯾﻞ / etc / groupذﺧﯿﺮه ﻣﯽ ﺷﻮد. .4
اﻃﻼﻋﺎت ﮐﺎرﺑﺮ :اﯾﻦ ﻓﯿﻠﺪ اﺧﺘﯿﺎري اﺳﺖ و ﺑﻪ ﺷﻤﺎ اﻣﮑﺎن ﺗﻌﺮﯾﻒ اﻃﻼﻋﺎت اﺿﺎﻓﯽ در ﻣﻮرد ﮐﺎرﺑﺮ را ﻣﯿﺪﻫﺪ.ﺑﺮاي ﻣﺜﺎل ،ﻧﺎم ﮐﺎﻣﻞ .5
ﮐﺎرﺑﺮ.اﯾﻦ ﻓﯿﻠﺪ ﺑﺎ ﻓﺮﻣﺎن "اﻧﮕﺸﺖ" ﭘﺮ ﺷﺪه اﺳﺖ.
ﻓﻬﺮﺳﺖ اﺻﻠﯽ :ﻣﺤﻞ ﻣﻄﻠﻮب داﯾﺮﮐﺘﻮري ﺧﺎﻧﮕﯽ ﮐﺎرﺑﺮ. .6
ﺷﻞ :ﻣﻮﻗﻌﯿﺖ ﻣﻄﻠﻖ ﭘﻮﺳﺘﻪ ﮐﺎرﺑﺮ ﯾﻌﻨﯽ/ bin / bash. .7
ﯾﮏ ﮐﺎرﺑﺮ ﺑﺎ داﯾﺮﮐﺘﻮري ﻣﺨﺘﻠﻒ اﯾﺠﺎد ﮐﻨﯿﺪ
ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض دﺳﺘﻮر useraddﯾﮏ ﭘﻮﺷﻪ homeﮐﺎرﺑﺮ را در زﯾﺮ ﭘﻮﺷﻪ / home directoryﺑﺎ ﻧﺎم ﮐﺎرﺑﺮي
اﯾﺠﺎد ﻣﯽ ﮐﻨﺪ.ﺑﻨﺎﺑﺮاﯾﻦ ،ﺑﺮاي ﻣﺜﺎل ،ﻣﺎ در ﺑﺎﻻ ي ﺻﻔﺤﻪ اﺻﻠﯽ ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض ﺑﺮاي user ' hosein ' ' /
' home / hoseinدﯾﺪه اﯾﻢ.
ﺑﺎ اﯾﻦ ﺣﺎل ،اﯾﻦ ﻋﻤﻞ را ﻣﯽ ﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ " " -dﻫﻤﺮاه ﺑﺎ ﻣﺤﻞ داﯾﺮﮐﺘﻮري ﺟﺪﯾﺪ )ﯾﻌﻨﯽ /داده ﻫﺎ /
ﭘﺮوژه ﻫﺎ )ﺗﻐﯿﯿﺮ دﻫﯿﺪ.ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،دﺳﺘﻮر زﯾﺮ ﯾﮏ user anushaرا ﺑﺎ ﯾﮏ ﭘﻮﺷﻪ home / data / projects
اﯾﺠﺎد ﻣﯽ ﮐﻨﺪ.
[ root@ hosein ~] # useradd -d / data / projects anusha
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ داﯾﺮﮐﺘﻮري ﮐﺎرﺑﺮ و ﺳﺎﯾﺮ اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﮐﺎرﺑﺮ ﻣﺎﻧﻨﺪ ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮ ،ﺷﻨﺎﺳﻪ ﮔﺮوه ،ﭘﻮﺳﺘﻪ و ﻧﻈﺮات را
ﺑﺒﯿﻨﯿﺪ.
[ root@ hosein ~] # cat / etc / passwd | grep anušha
179
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 180
ﻧﮑﺘﻪ :ﻣﻄﻤﺌﻦ ﺷﻮﯾﺪ ﮐﻪ ارزش ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮ ﺑﺎﯾﺪ از ﻫﺮ ﮐﺎرﺑﺮ دﯾﮕﺮي ﮐﻪ در ﺣﺎل ﺣﺎﺿﺮ در systemاﯾﺠﺎد ﺷﺪه اﺳﺖ،
ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد ﺑﺎﺷﺪ.
اﯾﺠﺎد ﯾﮏ ﮐﺎرﺑﺮ ﺑﺎ ﺷﻨﺎﺳﻪ ﮔﺮوه ﺧﺎص
ﺑﻪ ﻃﻮر ﻣﺸﺎﺑﻪ ،ﻫﺮ ﮐﺎرﺑﺮ داراي GIDﺧﻮدش ( ﺷﻨﺎﺳﻪ ﮔﺮوه )اﺳﺖ.ﻣﺎ ﻣﯽ ﺗﻮاﻧﯿﻢ ﮐﺎرﺑﺮان را ﺑﺎ ﺷﻨﺎﺳﻪ ﮔﺮوه ﺧﺎص و
ﻫﻤﭽﻨﯿﻦ ﺑﺎ ﮔﺰﯾﻨﻪ -gاﯾﺠﺎد ﮐﻨﯿﻢ.
در اﯾﻨﺠﺎ در اﯾﻦ ﻣﺜﺎل ،ﯾﮏ ' user ' tarunikaرا ﺑﺎ ﯾﮏ UIDو GIDﺧﺎص ﺑﻪ ﻃﻮر ﻫﻤﺰﻣﺎن ﺑﺎ ﮐﻤﮏ ﮔﺰﯾﻨﻪ ﻫﺎي '
' -uو ' ' -gاﺿﺎﻓﻪ ﻣﯽ ﮐﻨﯿﻢ.
[ root@ hosein ~] # useradd -u 1000 -g 500 tarunika
ﺣﺎﻻ ،ﺷﻨﺎﺳﻪ ﮐﺎرﺑﺮ اﺧﺘﺼﺎص داده ﺷﺪه و ﺷﻨﺎﺳﻪ ﮔﺮوه در ﻓﺎﯾﻞ / etc / passwdرا ﺑﺒﯿﻨﯿﺪ.
[ root@ hosein ~] # cat / etc / passwd | grep tarunika
ﺑﻌﺪ ،اﻃﻤﯿﻨﺎن ﺣﺎﺻﻞ ﮐﻨﯿﺪ ﮐﻪ ﭼﻨﺪﯾﻦ ﮔﺮوه ﺑﻪ ﮐﺎرﺑﺮ ﺑﺎ دﺳﺘﻮر idداده ﺷﺪه اﺳﺖ.
[ root@ hosein ~] # id hosein
180
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 181
ls: can not access / home / shilpi :اﯾﻦ ﻓﺎﯾﻞ ﯾﺎ داﯾﺮﮐﺘﻮري وﺟﻮد ﻧﺪارد
اﯾﺠﺎد ﯾﮏ ﮐﺎرﺑﺮ ﺑﺎ ﺗﺎرﯾﺦ اﻧﻘﻀﺎي ﺣﺴﺎب
ﺑﻪ ﻃﻮر ﭘﯿﺸﻔﺮض ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﮐﺎرﺑﺮ را ﺑﺎ دﺳﺘﻮر useraddاﺿﺎﻓﻪ ﻣﯽ ﮐﻨﯿﻢ ،ﺣﺴﺎب ﮐﺎرﺑﺮي ﻫﺮﮔﺰ ﺑﻪ ﭘﺎﯾﺎن ﻧﻤﯽ رﺳﺪ،
ﯾﻌﻨﯽ ﺗﺎرﯾﺦ اﻧﻘﻀﺎي آن ﺑﻪ ( 0ﯾﻌﻨﯽ ﻫﺮﮔﺰ ﻣﻨﻘﻀﯽ ﻧﺸﺪه اﺳﺖ).
ﺑﺎ اﯾﻦ ﺣﺎل ،ﻣﺎ ﻣﯽ ﺗﻮاﻧﯿﻢ ﺗﺎرﯾﺦ اﻧﻘﻀﺎ را ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ' ' -eﺗﻨﻈﯿﻢ ﮐﻨﯿﻢ ﮐﻪ ﺗﺎرﯾﺦ را در ﻗﺎﻟﺐYYYY-
MM-DDﺗﻨﻈﯿﻢ ﻣﯽ ﮐﻨﺪ.اﯾﻦ ﺑﺮاي اﯾﺠﺎد ﺣﺴﺎب ﻫﺎي ﻣﻮﻗﺖ ﺑﺮاي ﯾﮏ دوره زﻣﺎﻧﯽ ﺧﺎص ﻣﻔﯿﺪ اﺳﺖ.
در اﯾﻨﺠﺎ در اﯾﻦ ﻣﺜﺎل ﻣﺎ ﯾﮏ ﮐﺎرﺑﺮ aparnaﺑﺎ ﺗﺎرﯾﺦ اﻧﻘﻀﺎ ﺣﺴﺎب ﯾﻌﻨﯽ 27آورﯾﻞ 2014در ﻗﺎﻟﺐYYYY-MM-
DDاﯾﺠﺎد ﻣﯿﮑﻨﯿﻢ.
[ root@ hosein ~] # useradd -e 2014-03-27 ali
ﺑﻌﺪ ،ﭘﺲ از ﺗﻨﻈﯿﻢ ﺗﺎرﯾﺦ اﻧﻘﻀﺎي ﺣﺴﺎب ،ﺳﻦ ﮐﺎرﺑﺮي ﺣﺴﺎب و رﻣﺰ ﻋﺒﻮر را ﺑﺎ دﺳﺘﻮر ' ' chageﺑﺮاي ﮐﺎرﺑﺮ aparna
ﺗﺎﯾﯿﺪ ﮐﻨﯿﺪ.
[ root@ hosein ~] # chage -l ali
اﺳﺘﺪﻻل ' ' -fﺑﺮاي ﺗﻌﺮﯾﻒ ﺗﻌﺪاد روزﻫﺎي ﭘﺲ از ﭘﺎﯾﺎن رﻣﺰ ﻋﺒﻮر اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.ﻣﻘﺪار 0ﻏﯿﺮ ﻓﻌﺎل ﺣﺴﺎب ﮐﺎرﺑﺮي
در اﺳﺮع وﻗﺖ رﻣﺰ ﻋﺒﻮر ﻣﻨﻘﻀﯽ ﺷﺪه اﺳﺖ.ﺑﻪ ﻃﻮر ﭘﯿﺶ ﻓﺮض ،ﻣﻘﺪار اﻧﻘﻀﺎي رﻣﺰ ﻋﺒﻮر ﺑﻪ -1ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ ﻫﺮﮔﺰ
ﻣﻨﻘﻀﯽ ﻣﯽ ﺷﻮد .در اﯾﻨﺠﺎ در اﯾﻦ ﻣﺜﺎل ،ﯾﮏ ﺗﺎرﯾﺦ اﻧﻘﻀﺎي ﺣﺴﺎب ﮐﺎرﺑﺮي را ﺑﺮاي 45روز در ' user ' hoseinﺑﺎ
اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ﻫﺎي ' ' -eو ' ' -fﺗﻌﯿﯿﻦ ﻣﯽ ﮐﻨﯿﻢ.
[ root@ hosein ~] # useradd -e 2014-04-27 -f 45 hosein
ﯾﮏ ﮐﺎرﺑﺮ را ﺑﺎ ﻧﻈﺮات ﺳﻔﺎرﺷﯽ اﺿﺎﻓﻪ ﮐﻨﯿﺪ
ﮔﺰﯾﻨﻪ ' ' -cﺑﻪ ﺷﻤﺎ اﺟﺎزه ﻣﯽ دﻫﺪ ﺗﺎ ﻋﺒﺎرات ﺳﻔﺎرﺷﯽ ﻣﺎﻧﻨﺪ ﻧﺎم ﮐﺎرﺑﺮي ،ﺷﻤﺎره ﺗﻠﻔﻦ و ﻏﯿﺮه را ﺑﻪ ﻓﺎﯾﻞ / etc /
passwdاﺿﺎﻓﻪ ﮐﻨﯿﺪ.ﻧﻈﺮ را ﻣﯽ ﺗﻮان ﺑﻪ ﻋﻨﻮان ﯾﮏ ﺧﻂ ﺑﺪون ﻫﯿﭻ ﻓﻀﺎﯾﯽ اﺿﺎﻓﻪ ﮐﺮد.
ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،ﻓﺮﻣﺎن زﯾﺮ mansiﮐﺎرﺑﺮ را اﺿﺎﻓﻪ ﻣﯽ ﮐﻨﺪ و ﻧﺎم ﮐﺎﻣﻞ ﮐﺎرﺑﺮ ali ،در ﻗﺴﻤﺖ ﻧﻈﺮ وارد ﮐﻨﯿﺪ.
[ root@ hosein ~] # useradd -c ali
ﺷﻤﺎ ﻣﯽ ﺗﻮاﻧﯿﺪ ﻧﻈﺮات ﺧﻮد را در ﻓﺎﯾﻞ " " / etc / passwdدر ﺑﺨﺶ ﻧﻈﺮات ﻣﺸﺎﻫﺪه ﮐﻨﯿﺪ.
[ root@ hosein ~] # tail -1 / etc / passwd
181
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 182
182
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 183
[ root@ hosein ~] # useradd -m -d / var / www / avishek -s / usr / sbin / nologin -
c " hosein Sr. Technical Writer" -u 1019 avishek
.ﯾﮏ ﮐﺎرﺑﺮ را ﺑﺎ داﯾﺮﮐﺘﻮري ﺧﺎﻧﮕﯽCustom Skell / Comment ،Shell ،و User IDاﺿﺎﻓﻪ ﮐﻨﯿﺪ
ﺗﻨﻬﺎ ﺗﻐﯿﯿﺮ در اﯾﻦ ﻓﺮﻣﺎن ،ﻣﺎ از ﮔﺰﯾﻨﻪ -kﺑﺮاي ﺗﻨﻈﯿﻢ داﯾﺮﮐﺘﻮري ﺳﻔﺎرﺷﯽ skettleﺑﻪ ﻧﺎم /etc/custom.skell
اﺳﺘﻔﺎده ﮐﺮدﯾﻢ ،ﻧﻪ ﺑﻪ ﺻﻮرت ﭘﯿﺸﻔﺮض / etc / skel .ﻣﺎ ﻫﻤﭽﻨﯿﻦ از ﮔﺰﯾﻨﻪ " " -sﺑﺮاي ﺗﻌﺮﯾﻒ ﺷﯽ ﭘﻮﺳﺘﻪ ie /
bin / tcshﺑﻪ ﮐﺎرﺑﺮ " " navinاﺳﺘﻔﺎده ﮐﺮدﯾﻢ.
[ root@ hosein ~] # useradd -m -d / var / www / navin -k /etc/custom.skell -s /
bin / tcsh -c " hosein " -u 1027 navin
دﺳﺘﻮراﻟﻌﻤﻞ usermodﻓﺮﻣﺎن
ﻓﺮﻣﺎن " " useraddﯾﺎ " " adduserﺑﺮاي اﯾﺠﺎد ﺣﺴﺎب ﮐﺎرﺑﺮي در systemﻫﺎي linuxاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.ﺑﺮاي
ﮐﺴﺐ اﻃﻼﻋﺎت ﺑﯿﺸﺘﺮ در ﻣﻮرد ﻧﺤﻮه اﯾﺠﺎد ﮐﺎرﺑﺮان ،systemراﻫﻨﻤﺎي ﮐﺎﻣﻞ ﻣﺎ را در:
راﻫﻨﻤﺎي ﮐﺎﻣﻞ ﺑﺮاي "useradd" Commandدر linux .1
ﭘﺲ از اﯾﺠﺎد ﺣﺴﺎب ﻫﺎي ﮐﺎرﺑﺮي ،در ﺑﺮﺧﯽ از ﺷﺮاﯾﻂ ﮐﻪ در آن ﻣﺎ ﻧﯿﺎز ﺑﻪ ﺗﻐﯿﯿﺮ وﯾﮋﮔﯽ ﻫﺎي ﯾﮏ ﮐﺎرﺑﺮ ﻣﻮﺟﻮد ﻣﺎﻧﻨﺪ
ﺗﻐﯿﯿﺮ داﯾﺮﮐﺘﻮري ﺧﺎﻧﮕﯽ ﮐﺎرﺑﺮ ،ﻧﺎم ﮐﺎرﺑﺮي ،ﭘﻮﺳﺘﻪ ورود ،ﺗﺎرﯾﺦ اﻧﻘﻀﺎ رﻣﺰ ﻋﺒﻮر ،و ﻏﯿﺮه ،در ﺟﺎﯾﯽ ﮐﻪ در اﯾﻦ ﺻﻮرت
دﺳﺘﻮر ''usermodاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﻣﺎ دﺳﺘﻮر ' 'usermodرا در ﺗﺮﻣﯿﻨﺎل اﺟﺮا ﻣﯽ ﮐﻨﯿﻢ ،ﻓﺎﯾﻞ ﻫﺎي زﯾﺮ ﻣﻮرد اﺳﺘﻔﺎده و ﺗﺤﺖ ﺗﺎﺛﯿﺮ ﻗﺮار ﻣﯽ
ﮔﯿﺮﻧﺪ.
/ etc / passwd -اﻃﻼﻋﺎت ﺣﺴﺎب ﮐﺎرﺑﺮي .1
/ etc / shadow -اﻃﻼﻋﺎت ﺣﺴﺎب اﻣﻦ .2
/ etc / group -اﻃﻼﻋﺎت ﺣﺴﺎب ﮔﺮوﻫﯽ. .3
/ etc / gshadow -اﻃﻼﻋﺎت ﺣﺴﺎب اﻣﻦ ﮔﺮوه. .4
/etc/login.defs -ﭘﯿﮑﺮﺑﻨﺪي ﻣﺠﻤﻮﻋﻪ اي از رﻣﺰ ﻋﺒﻮر ﺳﺎﯾﻪ .5
ﻧﺤﻮ ﭘﺎﯾﻪ ﻓﺮﻣﺎن:
ﮔﺰﯾﻨﻪ ﻫﺎ[ ﻧﺎم ﮐﺎرﺑﺮي[ usermod
اﻟﺰاﻣﺎت
ﻣﺎ ﺑﺎﯾﺪ ﺣﺴﺎب ﮐﺎرﺑﺮي ﻣﻮﺟﻮد ﺑﺮاي اﺟﺮاي دﺳﺘﻮر usermodداﺷﺘﻪ ﺑﺎﺷﯿﻢ. .1
ﻓﻘﻂ ﮐﺎرﺑﺮ ﻓﻮق ) (rootاﺟﺎزه اﺟﺮاي دﺳﺘﻮر usermodرا ﻣﯿﺪﻫﺪ. .2
ﻓﺮﻣﺎن usermodرا ﻣﯽ ﺗﻮان در ﻫﺮ ﺗﻮزﯾﻊ linuxاﺟﺮا ﮐﺮد. .3
ﺑﺎﯾﺪ داﻧﺶ ﭘﺎﯾﻪ اي از ﻓﺮﻣﺎن usermodﺑﺎ ﮔﺰﯾﻨﻪ ﻫﺎ داﺷﺘﻪ ﺑﺎﺷﺪ .4
183
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 184
ﮔﺰﯾﻨﻪ ﻫﺎيUsermod
ﻓﺮﻣﺎن " " usermodﺳﺎده اﺳﺖ ﮐﻪ ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ﻫﺎي زﯾﺎدي ﺑﺮاي اﯾﺠﺎد ﺗﻐﯿﯿﺮات در ﯾﮏ ﮐﺎرﺑﺮ ﻣﻮﺟﻮد
اﺳﺘﻔﺎده ﺷﻮد.ﺑﻪ ﻣﺎ اﺟﺎزه ﻣﯽ دﻫﺪ ﻧﺤﻮه اﺳﺘﻔﺎده از ﻓﺮﻣﺎن usermodرا ﺑﺎ ﺗﻐﯿﯿﺮ ﺑﺮﺧﯽ از ﮐﺎرﺑﺮان ﻣﻮﺟﻮد در ﺟﻌﺒﻪ
linuxﺑﺎ ﮐﻤﮏ ﮔﺰﯾﻨﻪ ﻫﺎي زﯾﺮ ﺑﺒﯿﻨﯿﺪ.
= -cﻣﺎ ﻣﯿﺘﻮاﻧﯿﻢ ﻓﯿﻠﺪ commentرا ﺑﺮاي useraccountاﺿﺎﻓﻪ ﮐﻨﯿﻢ. .1
= -dﺗﻐﯿﯿﺮ داﯾﺮﮐﺘﻮري ﺑﺮاي ﻫﺮ ﺣﺴﺎب ﮐﺎرﺑﺮ ﻣﻮﺟﻮد. .2
= -eﺑﺎ اﺳﺘﻔﺎده از اﯾﻦ ﮔﺰﯾﻨﻪ ﻣﯽ ﺗﻮاﻧﯿﻢ ﻣﺪت زﻣﺎن ﻣﺸﺨﺺ ﺣﺴﺎب ﮐﺎرﺑﺮي را ﻟﻐﻮ ﮐﻨﯿﻢ. .3
= -gﮔﺮوه اﺻﻠﯽ را ﺑﺮاي ﯾﮏ ﮐﺎرﺑﺮ ﺗﻐﯿﯿﺮ دﻫﯿﺪ. .4
= -Gاﺿﺎﻓﻪ ﮐﺮدن ﯾﮏ ﮔﺮوه ﻣﮑﻤﻞ .5
= -aﺑﺮاي اﺿﺎﻓﻪ ﮐﺮدن ﻫﺮ ﮔﺮوه از ﮔﺮوه ﺑﻪ ﯾﮏ ﮔﺮوه ﺛﺎﻧﻮﯾﻪ. .6
= -lﺑﺮاي ﺗﻐﯿﯿﺮ ﻧﺎم ورود از hoseinﺑﻪhosein _admin. .7
= -Lﺑﺮاي ﻗﻔﻞ ﮐﺮدن ﺣﺴﺎب ﮐﺎرﺑﺮﯾﺎﯾﻦ رﻣﺰ ﻋﺒﻮر را ﻗﻔﻞ ﻣﯽ ﮐﻨﺪ ،ﺑﻨﺎﺑﺮاﯾﻦ ﻧﻤﯽ ﺗﻮاﻧﯿﻢ از ﺣﺴﺎب اﺳﺘﻔﺎده ﮐﻨﯿﻢ. .8
= -mاﻧﺘﻘﺎل ﻣﺤﺘﻮﯾﺎت ﭘﻮﺷﻪ ﺧﺎﻧﮕﯽ از homeﻣﻮﺟﻮد ﺑﻪ ﭘﻮﺷﻪ ﺟﺪﯾﺪ. .9
= -pﺑﺮاي اﺳﺘﻔﺎده از رﻣﺰ ﻋﺒﻮر رﻣﺰﮔﺬاري ﻧﺸﺪه ﺑﺮاي رﻣﺰ ﻋﺒﻮر ﺟﺪﯾﺪ(.ﻏﯿﺮ اﻣﻦ). .10
= -sﯾﮏ ﭘﻮﺳﺘﻪ ﻣﺸﺨﺺ ﺑﺮاي ﺣﺴﺎب ﻫﺎي ﺟﺪﯾﺪ اﯾﺠﺎد ﮐﻨﯿﺪ. .11
= -uﺑﻪ UIDاﺧﺘﺼﺎص داده ﺷﺪه ﺑﺮاي ﺣﺴﺎب ﮐﺎرﺑﺮي ﺑﯿﻦ 0ﺗﺎ .999 .12
= -Uﺑﺮاي ﺑﺎز ﮐﺮدن ﺣﺴﺎب ﻫﺎي ﮐﺎرﺑﺮي.اﯾﻦ ﻗﻔﻞ رﻣﺰ ﻋﺒﻮر را ﺣﺬف ﻣﯽ ﮐﻨﺪ و ﺑﻪ ﻣﺎ اﺟﺎزه ﻣﯽ دﻫﺪ از ﺣﺴﺎب .13
ﮐﺎرﺑﺮي اﺳﺘﻔﺎده ﮐﻨﯿﻢ.
184
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 185
وﺿﻌﯿﺖ ﻣﻨﻘﻀﯽ از ﯾﮏ ﮐﺎرﺑﺮ " hosein " 2014دﺳﺎﻣﺒﺮ 1اﺳﺖ ،اﺟﺎزه دﻫﯿﺪ آن را ﺑﻪ 2014 1 november
ﺑﺎ اﺳﺘﻔﺎده از ﮔﺰﯾﻨﻪ ' ' usermod -eﺗﻐﯿﯿﺮ دﻫﯿﻢ و ﺗﺎرﯾﺦ اﻧﻘﻀﺎ را ﺑﺎ دﺳﺘﻮر ' ' chageﺗﺎﯾﯿﺪ ﮐﻨﯿﻢ.
185
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 186
)uid = 501 ( hosein _test) gid = 502 ( hosein _test ) groups = 502 ( hosein _test
ﺣﺎﻻ ،ﮔﺮوه babinرا ﺑﻪ ﻋﻨﻮان ﯾﮏ ﮔﺮوه اﺻﻠﯽ ﺑﻪ user hosein _testﺗﻨﻈﯿﻢ ﮐﻨﯿﺪ و ﺗﻐﯿﯿﺮات را ﺗﺄﯾﯿﺪ ﮐﻨﯿﺪ.
# usermod-g babin hosein _test
# id hosein _test
) ( hosein _testﮔﺮوه = uid = 501 ( hosein _test) gid = 502 ( babin ) 502
186
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 187
187
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 188
188
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 189
# id ali
ﺗﻐﯿﯿﺮ UIDوGID
# usermod -u 666 -g 777 ali
ﺑﺮاي ﺗﻐﯿﯿﺮات را ﭼﮏ ﮐﻨﯿﺪ.
# id ali
189
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 190
ﻣﻔﻬﻮم TLDR
Easy to Understand Man Pages for Every Linux User
ﯾﮑﯽ از روﺷﻬﺎي راﯾﺞ ﺗﺮﯾﻦ و ﻗﺎﺑﻞ اﻃﻤﯿﻨﺎن ﺑﺮاي درﯾﺎﻓﺖ ﮐﻤﮏ در ﺳﯿﺴﺘﻢ ﻫﺎي ﯾﻮﻧﯿﮑﺲ از ﻃﺮﯾﻖ ﺻﻔﺤﻪ ﻫﺎي
ﺷﺨﺼﯽ اﺳﺖ .ﺻﻔﺤﺎت Manﻣﺴﺘﻨﺪات اﺳﺘﺎﻧﺪارد ﺑﺮاي ﻫﺮ ﯾﻮﻧﯿﮑﺲ ﻣﺎﻧﻨﺪ ﺳﯿﺴﺘﻢ ﻫﺴﺘﻨﺪ و آﻧﻬﺎ را ﺑﻪ ﮐﺘﺎﺑﭽﻪ ﻫﺎي
آﻧﻼﯾﻦ ﺑﺮاي ﺑﺮﻧﺎﻣﻪ ﻫﺎ ،ﺗﻮاﺑﻊ ،ﮐﺘﺎﺑﺨﺎﻧﻪ ﻫﺎ ،ﺗﻤﺎس ﻫﺎي ﺳﯿﺴﺘﻢ ،اﺳﺘﺎﻧﺪاردﻫﺎي رﺳﻤﯽ و ﮐﻨﻮاﻧﺴﯿﻮن ﻫﺎ ،ﻓﺮﻣﺖ ﻫﺎي
ﻓﺎﯾﻞ و ﻏﯿﺮه ﻣﻄﺎﺑﻘﺖ دارد .ﺑﺎ اﯾﻦ ﺣﺎل ،ﺻﻔﺤﺎت ﻣﺮد رﻧﺞ ﻣﯽ ﺑﺮﻧﺪ از ﺑﺴﯿﺎري از ﻧﻘﺺ ﮐﻪ ﯾﮑﯽ از آﻧﻬﺎ ﺑﯿﺶ از ﺣﺪ
ﻃﻮﻻﻧﯽ اﺳﺖ و ﺑﺮﺧﯽ از ﻣﺮدم ﻓﻘﻂ دوﺳﺖ ﻧﺪارﻧﺪ ﻣﺘﻦ ﺑﯿﺶ از ﺣﺪ در ﺻﻔﺤﻪ را ﺑﺨﻮاﻧﺪ.
ﺻﻔﺤﺎت( TLDRﺑﻪ ﻣﻌﻨﺎي "ﺑﯿﺶ از ﺣﺪ ﻃﻮﻻﻧﯽ؛ ﺧﻮاﻧﺪن" ﻧﯿﺴﺘﻨﺪ( ﺧﻼﺻﻪ ﻋﻤﻠﯿﺎت ﻧﻤﻮﻧﻪ ﻫﺎﯾﯽ از دﺳﺘﻮرات در
ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎي ﻣﺨﺘﻠﻒ از ﺟﻤﻠﻪ ﻟﯿﻨﻮﮐﺲ اﺳﺖ .آﻧﻬﺎ ﺑﺎ اراﺋﻪ ﻧﻤﻮﻧﻪ ﻫﺎي ﻋﻤﻠﯽ ﺳﺎده ﺻﻔﺤﺎت اﻧﺴﺎن را ﺳﺎده ﻣﯽ
ﮐﻨﻨﺪ .دﻓﻌﺎت ﺑﺎزدﯾﺪ 5 :اﺑﺰار ﻣﻔﯿﺪ ﺑﻪ ﯾﺎد داﺷﺘﻪ ﺑﺎﺷﯿﺪ دﺳﺘﻮرات ﻟﯿﻨﻮﮐﺲ ﺑﺮاي ﻫﻤﯿﺸﻪ ﻟﻄﻔﺎ ﺑﺮاي TLDRﯾﮏ
ﻋﺎدت اﯾﻨﺘﺮﻧﺘﯽ اﺳﺖ ،ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ ﭘﺴﺖ ،ﻣﻘﺎﻟﻪ ،ﻧﻈﺮ ﯾﺎ ﻫﺮ ﭼﯿﺰ دﯾﮕﺮي ﻣﺎﻧﻨﺪ ﯾﮏ ﺻﻔﺤﻪ ﮐﺘﺎﺑﭽﻪ راﻫﻨﻤﺎي ﮐﺎرﺑﺮ ﺑﯿﺶ
از ﺣﺪ ﻃﻮل ﻣﯽ ﮐﺸﺪ و ﻫﺮ ﮐﺴﯽ ﮐﻪ از ﻋﺒﺎرت اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﺪ ﺑﻪ آن دﻟﯿﻞ ﻧﻤﯽ ﺧﻮاﻧﺪ .ﻣﺤﺘﻮاي ﺻﻔﺤﺎت TLDR
ﺑﻪ ﻃﻮر آﺷﮑﺎر ﺗﺤﺖ ﻣﺠﻮز MITﻣﺠﺎز اﺳﺖ.
Install TLDR
$ sudo npm install -g tldr
$ sudo snap install tldr
ﻣﺜﺎل:
$ tldr ls
190
1001دﺳﺘﻮر ﻟﯿﻨﻮﮐﺴﯽ 191
191