Användbara kommandon Fil och informationssökning Tags Versionshanteringssystem 1
Användbara kommandon 1 more är ett filter som visar information skärmvis Exempel: ls al more less är en mer kraftfull variant av more som även klarar av att scrolla i textflödet head visar (default) de första 10 raderna av en fil tail visar (default) de sista 10 raderna av en fil Exempel: head 20 minfil.txt Exempel: tail f /var/log/messages man visar vald manualsida Exempel: man chmod, man 2 open 2
Användbara kommandon 2 Chmod byter rättigheter på filer och kataloger Alla filer har olika rättigheter för ägaren (u), gruppen (g) och alla andra (o). De är indelade i: -rwxrw-r-- r = Read (läs) w = Write (skriv) x = execute (exekvera) Exempel: chmod go-wx main.c Det finns även ett numeriskt (oktalt) system som använder sig av: 4 = Read (läs) 2 = Write (skriv) 1 = Execute (exekvera) Exempel: chmod 644 main.c (6=4+2 = read+write) 3
Användbara kommandon 3 chown byter ägare på en fil eller en katalog chgrp byter grupptillhörighet på en fil eller en katalog df listar information om diskar: Filesystem Size Used Avail Use% Mounted on /dev/hda1 3.2G 1.1G 1.9G 37% / /dev/hda3 1.5G 930M 576M 62% /windows /dev/hdb1 2.0G 24k 2.0G 0% /remove du visar information om användningen av disken dd kopierar filer Exempel: dd if=/dev/cdrom of=minfil.iso 4
Användbara kommandon 4 ps listar alla aktiva processer på ett system Exempel: ps ax a = visar även andra användares processer x = visar även bakgrundsprocesser u = visar användarens namn samt processor och minnes utnyttjande top visar en lista över de processer som använder mest CPU kill terminerar en process Exempel: kill 3 processnr 3 = SIGQUIT = Quit from keyboard 9 = SIGKILL = Kill signal 5
Användbara kommandon 5 time visar tiden ett kommando tar att utföra Exempel: time locate tcl real 0m0.964s user 0m0500.s sys 0m0040.s ln skapar länkar mellan filer. Kan jämföras med Genvägar i Windows. Exempel: ln s /usr/local/bin/program link_name cat skriver innehållet i en fil till standard output Exempel: cat minfil, cat /etc/services grep mail diff söker efter skillnader mellan två filer Exempel: diff minfil dinfil 6
Fil och informationssökning 1 locate söker i en databas efter filer. Denna databas uppdateras med kommandot: updatedb Exempel: locate perl whereis söker ett kommandos binär-, manual- och källkodsfil Exempel: whereis perl which visar hela sökvägen till ett program Exempel: which perl find söker efter filer och kataloger Exempel: find /usr name latex Exempel: find. name *late* Exempel: find. name main.c exec vi \{\} \; 7
Fil och informationssökning 2 Whatis söker bland man-sidorna och visar vad ett kommando är. Denna databas uppdateras med: makewhatis Exempel: whatis binhex binhex(1) - Hexifies a series of files Apropos och whatis har en liknande funktion, men apropos söker även i man-sidornas förklaringar. Exempel: apropos binhex binhex (1) - Hexifies a series of files hexbin (1) - Macintosh file de-binhexer 8
Tags Tags används för att bygga upp en databas med referenser till funktionsnamn, datastrukturer, konstanter osv. Lämpligt när man har stora projekt med många filer eller om någon annan person skall sätta sig in i projektet. Stöd finns för flera språk: C, C++, Java, perl, Fortran, Lisp, Prolog med flera Kommandon -l LANG, --language LANG. Generera fil utifrån språket LANG. -D, --no-defines. Exkludera #define för att minska utfil. TAGS-filen skapas med kommandot: etags * Hoppa till en funktion med ALT+. (i emacs) 9
Versionshanteringssystem SCCS RCS CVS Source Code Control System. Föregångaren. Kan finnas på vissa gamla system. Revision Control System. Den vanligaste varianten som används idag. Har tagit över efter SCCS. Concurrent Versions System. En front-end till RCS framtagen för att flera skall kunna arbeta med samma filer. 10
Revision Control System 1 RCS används för att på ett enkelt sätt kunna hantera multipla versioner av samma uppsättning källkod. Lämpligt vid alla former av programutveckling, eftersom man kan spara ett arbete i en ny version när ny funktionalitet implementerats. Om problem uppstår kan man återgå till en tidigare version. Kommandon: ci Checka in din fil co Checka ut din fil rcsdiff visa förändringar mellan utcheckad version och den senast incheckade rlog visar filens historik 11
Revision Control System 2 Historik för filen dbclient.c RCS file: RCS/dbclient.c,v head: 2.1 total revisions: 3; selected revisions: 3 description: Database, Client side ---------------------------- revision 2.1 date: 2000/10/02 22:07:32; author: crille; state: Exp; lines: +37-3 Support for deleting servers added Created a more user-friendly interface Fixed the bug in the AddServer() function ---------------------------- revision 1.2 date: 2000/10/02 08:02:21; author: dbadmin; state: Exp; lines: +13-0 Added support for adding more servers ---------------------------- revision 1.1 date: 2000/10/02 07:08:44; author: root; state: Exp; Initial revision ========================================================================= 12
Revision Control System 3 Så här fungerar RCS Skapa underkatalogen RCS Checka in dina filer: ci * och ange en förklaring till varje fil. Dina filer finns nu lagrade i katalogen RCS. Checka ut en fil för läsning: co fil.c. Alla kan checka ut en fil för läsning. Checka ut en fil för redigering: co l fil.c. Editera nu filen som vanligt. När du uppnått ett delmål och vill spara undan arbetet som en färdig version skriver du: ci fil.c, vilket ger versionsnummret 1.2 För att checka in en fil med versionnummer2: ci r2 fil.c För att checka ut en fil med versionnummer3.1: co r3.1 fil.c 13
Concurrent Versions System CVS är ett versionshanteringssystem som kan ses som en front-end till revisionshanteraren RCS. CVS är framtaget för att man som programmerare inte bara skall kunna ha multipla versioner av en fil, utan att flera programmerare skall kunna dela filer. Man använder sig av en central förvaringsplats för alla filer och användarna hämtar kopior av varje fil till sin dator. Kommandon: cvs checkout skapar en egen privat kopia cvs update uppdaterar min fil med ändringar gjorda av andra cvs add - lägger till nya filer till den centrala förvaringsplatsen cvs commit publicerar mina ändringar hos förvaringsplatsen cvs history visar förändringshistoriken för en fil 14