week2 introduction to linux -...
TRANSCRIPT
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���
%POHLVO 4IJO&NCFEEFE�4PGUXBSF�-BCPSBUPSZ4VOHLZVOLXBO�6OJWFSTJUZIUUQ���OZY�TLLV�BD�LS�
*OUSPEVDUJPO UP -JOVY
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���
• "�6OJY�MJLF�PQFSBUJOH�TZTUFN�PG�B�DPNQVUFS• 8IBU�JT�BO�04
– "�SFTPVSDF�NBOBHFS�PG�B�DPNQVUFS– "�MBZFS�PG�TPGUXBSF�JOUFSQPTFE�CFUXFFO�BQQMJDBUJPO�QSPHSBNT�BOE�UIF�IBSEXBSF
• 8IBU�JT�6OJY – "�UJNF�TIBSJOH �NVMUJ�UBTL �NVMUJ�VTFS�04– 1FSIBQT�UIF�NPTU�JNQPSUBOU�04�JO�DPNQVUFS�IJTUPSZ
8IBU�JT�-JOVY
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���
• 0QFO�TPVSDF�EFWFMPQNFOU�CFHBO�JO������• 'JSTU�SFMFBTFE�CZ�-JOVT�5PSWBMET• -JOVY�LFSOFM
– 5IF�DPSF�PG�-JOVY�TZTUFN– 5IPVTBOET�PG�DPOUSJCVUPST– 4VQFSWJTFE�CZ�-JOVT�BOE�PUIFS�NBJOUBJOFST
• %JTUSJCVUJPO– "�DPMMFDUJPO�PG�TPGUXBSF�CBTFE�BSPVOE�-JOVY�LFSOFM– 3FE�)BU �'FEPSB �%FCJBO �6CVOUV �"OESPJE ����
-JOVY
-JOVT�5PSWBMET�����_�
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���-BZFSFE�7JFX�PG�B�$PNQVUFS�4ZTUFN
0QFSBUJOH�TZTUFN�,FSOFM
%JTL$16 .&. /*$)BSEXBSF
,FSOFM
"QQMJDBUJPO1SPHSBNT 5FYU�FEJUPS 8FC�CSPXTFS (BNF
6TFS*OUFSGBDFT
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���
• 5IF�TQBDF�XIFSF�XF�JOUFSBDU�XJUI�NBDIJOFT• $PNNBOE�MJOF�JOUFSGBDF�$-*
– $PNNBOE�JOUFSQSFUFS– %JGGJDVMU�UP�MFBSO– $BMMFE�BT�ˑTIFMM˒
• (SBQIJDBM�VTFS�JOUFSGBDF�(6*– ,%& �(OPNF �6OJUZ �9GDF �˘
• 5PVDI�VTFS�JOUFSGBDF– 4NBSUQIPOFT �UBCMFUT
6TFS�*OUFSGBDFT
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���
• "�TIFMM�BMMPXT�UISFF�UZQFT�PG�DPNNBOET– "O�FYFDVUBCMF�GJMF�UIBU�DPOUBJOT�PCKFDU�DPEF�QSPEVDFE�CZ�B�DPNQJMBUJPO�PG�TPVSDF�DPEF– "O�JOUFSOBM�TIFMM�DPNNBOE�CVJMU�JO�DPNNBOE– "O�FYFDVUBCMF�GJMF�UIBU�DPOUBJOT�B�TFRVFODF�PG�TIFMM�DPNNBOE�MJOFT�B�TIFMM�TDSJQU
• 5IFSF�BSF�UXP�GBNJMJFT�PG�TIFMMT– 0OF�CBTFE�PO�ˑ#PVSOF�TIFMM˒�TI
• 8F�XJMM�VTF�ˑ#PVSOF�BHBJO�TIFMM˒�CBTI�GPS�UIF�DPVSTF– 5IF�PUIFS�CBTFE�PO�ˑ$�TIFMM˒�DTI
4IFMM��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���
• &YFDVUJOH�QSPHSBNT�PO�B�TIFMM– FY $ command [options] [arguments]– [$ ls] BOE�[$ ls –al] TIPX�EJGGFSFOU�SFTVMUT– "MM�DPNNBOET �PQUJPOT �BSHVNFOUT�BSF�DBTF�TFOTJUJWF
• 4IFMMT�FYFDVUF�DPNNBOET�CZ�NFBOT�PG�QSPDFTTFT– "�QSPDFTT�JT�BO�JOTUBODF�PG�B�QSPHSBN�JO�FYFDVUJPO
4IFMM��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���
• "�GJMF– "�DPMMFDUJPO�PG�SFMBUFE�JOGPSNBUJPO�EFGJOFE�CZ�JUT�DSFBUPS– 6OTUSVDUVSFE�TFRVFODF�PG�CZUFT
• "�GJMF�TZTUFN– $POTJTU�PG�UXP�EJTUJODU�QBSUT�
• "�DPMMFDUJPO�PG�GJMFT• "�EJSFDUPSZ�TUSVDUVSF
– *U�QSPWJEFT�UIF�NFDIBOJTN�GPS�PO�MJOF�TUPSBHF�BOE�BDDFTT�UP�GJMF�DPOUFOUT
'JMF�4ZTUFN�0WFSWJFX��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
���
• 'FBUVSFT�PG�6OJY�GJMF�TZTUFN– "�IJFSBSDIJDBM�TUSVDUVSF– *U�BMMPXT�EZOBNJD�HSPXUI�PG�GJMFT– 5IF�BCJMJUZ�UP�DSFBUF�BOE�EFMFUF�GJMFT– 5IF�QSPUFDUJPO�PG�UIF�GJMF�EBUB– 6OJY�USFBUT�UIF�QFSJQIFSBM�EFWJDFT�BT�GJMFT
• ˑ&WFSZUIJOH�JT�GJMF˒– %PDVNFOUT �EJSFDUPSJFT �IBSE�ESJWFT �OFUXPSL�TPDLFUT �LFZCPBSET �QSJOUFST�BSF�TUSFBN�PG�CZUFT�FYQPTFE�UISPVHI�UIF�GJMF�TZTUFN�OBNFTQBDF
'JMF�4ZTUFN�0WFSWJFX��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• )JFSBSDIJDBM �USFF�MJLF�TUSVDUVSF– 3PPU– /PO�MFBG�OPEFT
• %JSFDUPSJFT– -FBG�OPEFT
• %JSFDUPSJFT• 3FHVMBS�GJMFT�PS�TQFDJBM�EFWJDF�GJMFT
'JMF�4ZTUFN�0WFSWJFX��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����'JMF�4ZTUFN�0WFSWJFX��
IUUQ���XXX�MJOVYQMBOFU�DPN�MJOVYQMBOFU�UVUPSJBMT�������
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����'JMF�4ZTUFN�0WFSWJFX��
• 3PPU�EJSFDUPSZ�<"/">– 5IF�UPQ�NPTU�EJSFDUPSZ�JO�B�IJFSBSDIZ
• )PNF�EJSFDUPSZ�<"~">– "�TQFDJBM�EJSFDUPSZ�GPS�B�VTFS– *U�DPOUBJO�UIF�VTFSˏT�GJMFT��JODMVEJOH�UFYUT �NVTJD �WJEFPT �PS�DPOGJHVSBUJPO�GJMFT
• $VSSFOU�EJSFDUPSZ���8PSLJOH�EJSFDUPSZ�<".">– &BDI�QSPDFTT�IBT�BTTPDJBUFE�XJUI�JU�B�EJSFDUPSZ– 5IF�EJSFDUPSZ�XIFSF�B�VTFS�DVSSFOUMZ�MPDBUFE
• 1BSFOU�EJSFDUPSZ�<"..">– *U�SFGFST�UP�UIF�EJSFDUPSZ�BCPWF�ZPVS�DVSSFOU�XPSLJOH�EJSFDUPSZ
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• �CJO– $POUBJOT�DFSUBJO�GVOEBNFOUBM�VUJMJUJFT
• �EFW– 4QFDJBM�EFWJDF�GJMFT
• �FUD– )PTU�TQFDJGJD�TZTUFN�XJEF�DPOGJHVSBUJPO�GJMFT
• �UNQ– 5FNQPSBSZ�GJMFT �SFNPWFE�BGUFS�TZTUFN�SFCPPU
• �WBS– 4ZTUFN�MPH
'JMF�4ZTUFN�0WFSWJFX��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• 5IF�HFOFSBM�GPSN�PG�UIF�OBNF�PG�B�GJMF�PS�B�EJSFDUPSZ• %FMJNJUJOH�DIBSBDUFST�<"/">
– 3FQSFTFOU�FBDI�EJSFDUPSZ�JO�QBUI�FYQSFTTFE�JO�TUSJOH• "CTPMVUF�QBUI�GVMM�QBUI
– "�QBUI�QPJOUT�B�MPDBUJPO�SFHBSEMFTT�PG�QSFTFOU XPSLJOH�EJSFDUPSZ$ cat /home/swe2007/textfile$ cat ~/textfile
• 3FMBUJWF�QBUI– "�QBUI�SFMBUJWF�UP�UIF�XPSLJOH�EJSFDUPSZ�PG�UIF�VTFS
$ cat textfile ß if cwd is “/home/swe2007”
1BUI
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• &WFSZ�GJMFT�IBWF�B�TFU�PG�QFSNJTTJPOT• 0XOFSTIJQ
– 6TFS�PXOFS• 5IF�QFSTPO�XIP�PXOT�DSFBUFE�UIF�GJMF�
– (SPVQ• 6OJY�BMMPXT�GPS�UIF�DSFBUJPO�PG�HSPVQ
– 0UIFST• &WFSZPOF�FMTF�JO�UIF�XPSME�UIBU�IBT�BDDFTT�UP�UIBU�DPNQVUFS
• 1FSNJTTJPO�GPS�"DDFTT– SFBE�� ��Y���– XSJUF�� ��Y���– FYFDVUF�� ��Y���
'JMF�1FSNJTTJPO
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• MT– -JTU�GJMFT$ ls$ ls –al /etc
• QXE– 1SJOU�XPSLJOH�EJSFDUPSZ
• DE– $IBOHF�XPSLJOH�EJSFDUPSZ$ cd ..$ cd /proc$ cd ~
#BTJD�$PNNBOET��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• FDIP– %JTQMBZ�B�MJOF�PG�UFYU$ echo "Hello?"
• QSJOUG– 1SJOU�B�GPSNBUUFE�MJOF�PG�UFYU$ printf "%s\n" Hello?
• DBU– %JTQMBZJOH�GJMFT$ cat /etc/issue
• NPSF���MFTT– %JTQMBZ�UIF�GJMF�CZ�QBHF$ ls –l /bin | more
• IFBE���UBJM– %JTQMBZ�UIF�GJSTU���MBTU����MJOFT�PG�UIF�GJMF
#BTJD�$PNNBOET��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• NLEJS���SNEJS– .BLF � SFNPWF B EJSFDUPSZ$ mkdir swex1
• NW– .PWF�PS�SFOBNF�GJMF$ mv swex1/ swex2/
• DQ– $PQZ�GJMFT
• SN– 3FNPWF�GJMFT
#BTJD�$PNNBOET��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• NBO– %JTQMBZJOH�B�NBOVBM�PG�B�QSPHSBN�PS�B�GVODUJPO$ man ls
• HSFQ– 4FBSDIJOH�GJMFT�GPS�B�TQFDJGJFE�FYQSFTTJPO– FY�$ grep [expression] [file_name]$ grep root /etc/passwd
#BTJD�$PNNBOET��
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• DINPE– $IBOHF�UIF�QFSNJTTJPO�PO�B�GJMF�PS�EJSFDUPSZ
$ chmod u=rw file1$ chmod u+x,g+x,o-r file2
$ ls –l$ chmod 750 swex2/$ ls –l
#BTJD�$PNNBOET��u user + to add a permission r(4) readg group - to remove a permission w(2) writeo other = to assign a permission explicitly x(1) execute (for files),
access (for directories)
u g o7 5 0
111 101 000rwx r-x ---
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• WJ<N>– "�UFYU�FEJUPS�GPS�QSPHSBNNFST– $SFBUF�JG�OPU�FYJTU�PS�PQFO�B�GJMF�ˎGJMF@OBNFˏ– FY�$ vi [file_name]$ vi hello.c
• HDD– (/6�DPNQJMFS�DPMMFDUJPO– FY�$ gcc –o [output_file_name] [file_name]$ gcc –o hello hello.c$ ./hello
%FWFMPQNFOU�UPPMT
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• .PEFT7JN
$PNNBOE�NPEF*OTFSU�NPEF &Y�NPEF&EJU�UIF�DVSSFOU�GJMF
i
ESC
: /
ESC
&Y�NPEF:w TBWF�UIF�DVSSFOU�GJMF:q RVJU�7JN:q! RVJU�7JN�XJUIPVU�TBWJOH:wq TBWF�UIF�GJMF�BOE�RVJU/world GJOE�UIF�TUSJOH�ˎXPSMEˏ:%s/world/swe2007 DIBOHF�UIF�TUSJOH�ˎXPSMEˏ�UP�ˎTXF����ˏ
4UBSUa
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• 8IBU�JT�WJNSD – 0QUJPOBM�SVOUJNF�DPOGJHVSBUJPO�TFUUJOHT�UP�JOJUJBMJ[F�7JN�XIFO�JU�TUBSUT– *U�JT�WFSZ�VTFGVM��*G�ZPV�VTF�7JN
• -PDBUJPO�PG�WJNSD– _��WJNSD
• &YBNQMF– IUUQT���HJUIVC�DPN�TPNOPEF�WJNSD@TBNQMF
WJNSD
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����IFMMP�D
#include <stdio.h>
int main(){
printf("hello, world\n");return 0;
}
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����
• -BC�FYFSDJTF����– .BLF�ˑTXFY�˒�EJSFDUPSZ�PO�ZPVS�IPNF�EJSFDUPSZ– $SFBUF�IFMMP�D�PO�UIF�EJSFDUPSZ– $PNQJMF�JU– 3VO�UIF�QSPHSBN– 3FNPWF�ˑTXFY�˒�EJSFDUPSZ
&YFSDJTF
&NCFEEFE�4PGUXBSF�-BC��!�4,,6
����2���"