1-DAV-202 Data Management 2023/24
Previously 2-INF-185 Data Source Integration
Difference between revisions of "Command-line basics"
Jump to navigation
Jump to search
(Created page with "==Files and folders== * Images, texts, data, etc. are stored in files * Files are grouped in folders (directories) for better organization * A folder can also contain other fo...") |
|||
Line 9: | Line 9: | ||
* The list of files in some other folder can be obtained with the command <tt>ls other_folder</tt> | * The list of files in some other folder can be obtained with the command <tt>ls other_folder</tt> | ||
* The command <tt>cd new_folder</tt> changes the current folder to the specified new folder | * The command <tt>cd new_folder</tt> changes the current folder to the specified new folder | ||
− | * Notes: <tt>ls<tt> is an abbreviation of "list", <tt>cd</tt> is an abbreviation of "change directory" | + | * Notes: <tt>ls</tt> is an abbreviation of "list", <tt>cd</tt> is an abbreviation of "change directory" |
'''Example:''' | '''Example:''' | ||
* When we login to the server, we are in the folder <tt>/home/username</tt>. | * When we login to the server, we are in the folder <tt>/home/username</tt>. | ||
* We then execute several commands listed below | * We then execute several commands listed below | ||
− | * Using <tt>cd</tt> command, we move to folder <tt>/tasks/perl/</tt> (computer does | + | * Using <tt>cd</tt> command, we move to folder <tt>/tasks/perl/</tt> (the computer does not print anything, only changes the current folder). |
− | + | * Using <tt>ls</tt> command, we print all files in the <tt>/tasks/perl/</tt> folder. | |
− | + | * Finally we use <tt>ls /tasks</tt> command to print the folders in /tasks | |
<pre> | <pre> | ||
− | meno@vyuka:~$ cd / | + | meno@vyuka:~$ cd /tasks/perl/ |
− | meno@vyuka:/ | + | meno@vyuka:/tasks/perl$ ls |
− | + | fastq-lengths.pl reads-small.fastq reads-tiny-trim1.fastq series.tsv | |
− | meno@vyuka:/ | + | protocol.txt reads-tiny.fasta reads-tiny-trim2.fastq |
− | + | reads.fastq reads-tiny.fastq series-small.tsv | |
+ | meno@vyuka:/tasks/perl$ ls /tasks | ||
+ | bash bioinf1 bioinf2 bioinf3 cloud flask make perl python r1 r2 | ||
</pre> | </pre> | ||
Revision as of 22:46, 11 February 2023
Contents
Files and folders
- Images, texts, data, etc. are stored in files
- Files are grouped in folders (directories) for better organization
- A folder can also contain other folders, forming a tree structure
Moving around folders (ls, cd)
- One folder is always selected as the current one; it is shown on the command line
- The list of files and folders in the current folder can be obtained with the ls command
- The list of files in some other folder can be obtained with the command ls other_folder
- The command cd new_folder changes the current folder to the specified new folder
- Notes: ls is an abbreviation of "list", cd is an abbreviation of "change directory"
Example:
- When we login to the server, we are in the folder /home/username.
- We then execute several commands listed below
- Using cd command, we move to folder /tasks/perl/ (the computer does not print anything, only changes the current folder).
- Using ls command, we print all files in the /tasks/perl/ folder.
- Finally we use ls /tasks command to print the folders in /tasks
meno@vyuka:~$ cd /tasks/perl/ meno@vyuka:/tasks/perl$ ls fastq-lengths.pl reads-small.fastq reads-tiny-trim1.fastq series.tsv protocol.txt reads-tiny.fasta reads-tiny-trim2.fastq reads.fastq reads-tiny.fastq series-small.tsv meno@vyuka:/tasks/perl$ ls /tasks bash bioinf1 bioinf2 bioinf3 cloud flask make perl python r1 r2
Absolútne a relatívne cesty
- Absolútna cesta určuje, ako sa k danému súboru alebo adresáru dostať z koreňa
- Napr. /projects/data-ppb/, /projects/data-ppb/README, /projects/data-ppb/events/2009/Wed_25_Nov_2009, /home/meno/ atď
- Jednotlivé adresáre v strome sa oddeľujú lomítkom
- Absolútna cesta začína lomítkom
- Relatívna cesta určuje, ako sa k danému súboru dostať z aktuálneho adresára
- Napr. ak aktuálny adresár je /projects/data-ppb/, tak relatívna cesta k /projects/data-ppb/README je len README a relatívna cesta k /projects/data-ppb/events/2009/Wed_25_Nov_2009 je events/2009/Wed_25_Nov_2009
- Relatívna cesta nezačína lomítkom
- Relatívna cesta môže ísť aj hore do nadadresára, pomocou ..
- Napr. ak aktuálny adresár je /projects/data-ppb/events/2009, tak relatívna cesta ../../proteins nám dá to isté ako /projects/data-ppb/proteins
V príkazoch ls, cd a ďalších môžeme používať absolútne aj relatívne cesty.
Dôležité adresáre
- Koreň je adresár s cestou /, počiatočný bod stromovitej štruktúry adresárov
- Domovský adresár (home directory) /home/meno je aktuálny po prihlásení
- Tam si ukladáme väčšinu svojich súborov, ak nie je dobrý dôvod ich uložiť inde
- Skratka pre domovsky adresár je ~, napr. cd ~ vás tam presunie
Hviezdičková konvencia
- Príkaz ls namiesto všetkých súborov v adresári môže vypísať len tie, ktoré si vyberieme
- Všetky súbory v aktuálnom adresári začínajúce písmenom x vypíšeme pomocou ls x*
- Všetky súbory obsahujúce písmeno x hocikde v mene vypíšeme pomocou ls *x*
Prezeranie obsahu súboru (less)
- less subor
- Vypíše súbor na obrazovku, môžeme v ňom listovať pomocou medzery alebo Page up a Page down, vyskočíme pomocou q (ako quit), ďalšie klávesy sa dozviete po stlačení h (help)
Kopírovanie súborov (cp)
- cp odkiaľ kam
- Skopíruje súbor odkiaľ na miesto kam
- Môžeme použiť absolútne alebo relatívne cesty.
- Cieľové miesto kam môže byť adresár alebo celé meno súboru
Príklad: ak aktuálny adresár je /projects/data-ppb/, nasledujúce tri príkazy všetky kopírujú súbor README do poadresára events:
# relatívne cesty cp README events/ # absolútne cesty cp /projects/data-ppb/README /projects/data-ppb/events/ # celé meno súboru cp README events/README # tento príkaz kopíruje do /projects/data-ppb/events/README2 cp README events/README2 # ak sa presunieme do adresára events, môžeme kopírovať súbor do aktuálneho adresára . cd events cp ../README .
Kopírovanie súborov zo servera/na server (scp)
- Kríženec medzi ssh a cp (Secure CoPy)
- Na server (spustite na vašom linuxovom počítači napr. v učebni): scp subor meno@vyuka.compbio.fmph.uniba.sk:nove_meno_suboru
- Zo servera: scp meno@vyuka.compbio.fmph.uniba.sk:subor nove_meno_suboru
- Ak chcete kopírovať súbory medzi serverom a Windowsovým počítačom, nainštalujte si program WinSCP
#skopíruje súbor README2 do adresára /projects/data-ppb/ na serveri scp README2 hrasko37@vyuka.compbio.fmph.uniba.sk:/projects/data-ppb/ #skopíruje súbor README2 do domovského adresára užívateľa hrasko37 na serveri scp README2 hrasko37@vyuka.compbio.fmph.uniba.sk: #skopíruje súbor README2 do domovského adresára užívateľa hrasko37 pod menom README3 scp README2 hrasko37@vyuka.compbio.fmph.uniba.sk:README3 #skopíruje súbor README2 z domovského adresára užívateľa hrasko37 na serveri do aktuálneho adresára scp hrasko37@vyuka.compbio.fmph.uniba.sk:README2 .
Poznámky
Upozornenie: dvakrát meraj, raz rež
- Príkazový riadok spraví, čo napíšete, nepýta sa, či to myslíte naozaj
- Príkazy cp a scp môžu prepísať už existujúce súbory
- Neexistuje undo
- Preto si vždy dobre premyslite, čo chcete spraviť a skontrolujte príkaz pred tým, ako dáte Enter
Zjednodušenie práce
Užitočné pomôcky na príkazovom riadku:
- kláves Tab
- ak je len jeden súbor alebo adresár, ktorý pasuje na rozpísaný začiatok slova, doplní ho automaticky
- ak je súborov alebo adresárov viac, doplní, čo majú spoločné,po opakovanom stlačení ponúkne možnosti
- šípky hore/dole
- prechádzanie históriou spustených príkazov
- copy&paste myšou
- ľavým tlačidlom a ťahaním po texte označíme
- kliknutím stredného tlačidla (kolieska) vložíme kam potrebujeme
- ak nemáme stredné tlačidlo, klikneme naraz pravým aj ľavým