1-DAV-202 Data Management 2023/24
Previously 2-INF-185 Data Source Integration
Command-line basics
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
Absolute a relative paths
- Absolute path determines how to get to a given file or folder from the root of the whole filesystem
- For example /tasks/perl/, /tasks/perl/series.tsv, /home/username etc.
- Individual folders are separated by a slash / in the path
- Absolute paths start with a slash
- Relative path determines how to get to a given file or folder from the current folder
- For example, if the current folder is /tasks/perl/, the relative path to file /tasks/perl/series.tsv is simply series.tsv
- If the current folder is /tasks/, the relative path to file /tasks/perl/series.tsv is perl/series.tsv
- Relative paths do not start with a slash
- A relative path can also go "upwards" to the containing folder using ..
- For example, if the current folder is /tasks/perl/, the relative path .. will give us the same as /tasks and ../../home will give us /home
Commands ls, cd and others accept both relative and absolute paths.
Important folders
- Root is the folder with absolute path /, the starting point of the tree structure of folders
- Home directory with absolute path /home/username is set as the current folder after login
- Users typically store most of their files within their home directory and its subfolders, if there is no good reason to place them eslewhere
- 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