Linux

From JWik
Jump to navigationJump to search

Internal

Putty

Cygwin

Tools

Mandatory

  1. apt-cyg
    1. wget.exe https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
    2. install apt-cyg /bin
    3. If you get a problem with privileges during install command, start CygWin as Administrator
  2. joe
  3. patch
  4. mmv
  5. wget
  6. curl
  7. mc
  8. mcedit
  9. whois
  10. tree
  11. man-pages-posix
  12. tee
  13. git
  14. usleep
  15. locate
  16. nmap
    1. not bundled in cygwin, but there is a windows installer in official website

Auxiliary

  1. exif
  2. ImageMagick
  3. jpeg
  4. jpegoptim
  5. rsync
  6. colordiff
  7. fcrackzip

update / apt

Search

sudo apt-cache search tomcat

Sources

/etc/apt/sources.list - File with list of apt-get sources

date & time

root@ortho:~# date -s 08/22/2007

root@ortho:~# date -s 15:59

networking

netstat

netstat -tap | grep https


netstat -anp |grep 8888

Shows PID of the process


List all ports using netstat -a. ...

List all tcp ports using netstat -at. ...

List all udp ports using netstat -au. ...

List only listening ports using netstat -l. ...

List only listening TCP Ports using netstat -lt. ...

List only listening UDP Ports using netstat -lu. ...

List only the listening UNIX Ports using netstat -lx.

lsof

lsof -i :80 - Shows processes on port 80

Patch/diff

svn diff --patch-compatible > mypatch.diff

svn diff --patch-compatible fileInSvn.txt > mypatch.diff

svn patch PATCHFILE [WCPATH]

patch -p0 -i -l filename.patch

Patch options:

-l  --ignore-whitespace  Ignore white space changes between patch and input.
-i PATCHFILE  --input=PATCHFILE  Read patch from PATCHFILE instead of stdin.

Tree

D:\projects\java892>tree .
Folder PATH listing for volume Files1
Volume serial number is xxxxxx
D:\PROJECTS\JAVA892
├───classes
│   └───playtech
│       └───hello
└───src
    └───playtech
        └───hello

Current directory manipulations

set current=%CD%

set parent=%CD%\..

pushd / popd -> TODO

tail

Tail versions for Windows

tail -f -n 150 file.txt
tail -F rotating.log

--follow=name (-F); The -F option tells tail to track changes to the file by filename, instead of using the inode number which changes during rotation.

find

Examples of Linux find
find /home -name tecmint.txt Find all the files under /home directory with name tecmint.txt.
find /home -iname tecmint.txt Find all the files whose name is tecmint.txt and contains both capital and small letters in /home directory.
find / -type d -name Tecmint Find all directories whose name is Tecmint in / directory.
find . -type f -name "*.php" Find all php files in a directory.
find . -type f -name "tecmint.txt" -exec rm -f {} \; To find a single file called tecmint.txt and remove it.
find / -mtime 50 find all the files which are modified 50 days back.
find / -atime 50 find all the files which are accessed 50 days back.
find / -cmin -60 find all the files which are changed in last 1 hour.
find / -size +50M -size -100M find all the files which are greater than 50MB and less than 100MB.

CYGWIN ATTENTION

I have just tried using "find -exec" command on a Cygwin system (UNIX emulated on Windows), and there it seems that the backslash before the semicolon must be removed:

find ./ -name "blabla" -exec wc -l {} ;

sed (Replacing strings)

sed

grep

Grep

Less

When you want to search (any highlight) for string1 or string2, use /string1|string2

https://unix.stackexchange.com/questions/31/list-of-useful-less-functions

n – for next match in forward

N – for previous match in backward

-i -> case insensitive searching unless pattern contains capitals (as clo or in less)

^f - page down

^b - page up

G - go to the end of buffer

g/gg - go to the beginning of the buffer

42g - go to line number 42

&/ <pattern_of_interest> -> show only the matching lines.

less --follow-name +F file.log

Both parameters should be used.

iostat

Командата „iostat“ показва в детайли какво правят вашите подсистеми за съхранение. Тя обикновено се използва за да наблюдавате колко добре вашите подсистеми за съхранение работят като цяло и да забележите проблеми със забавяне на входящо-изходния поток, преди вашите клиенти да забележат, че сървърът е бавен, а вие определено искате това.

meminfo and free

”Meminfo” ви дава подробен списък на това, какво се случва с паметта. Обикновено вие достъпвате meminfo данните при работа с други програми, като “cat” (съкратено от “concatenate”) или „grep“ (“global regular expression print“). Ако например използвате „cat/proc/meminfo“ – това ще ви даде детайли по отношение на това, което се случва в паметта на вашия сървър във всеки даден момент. Ако ви трябва обаче само общата картина, тогава използвайте командата „free”. Това е и разликата между двете команди.

mpstat

Командата „mpstat“ ще ви докладва дейността на всеки от активните процесори при мултипроцесорен сървър. В предвид, че в наши дни навсякъде се използват многоядрени процесори, това означава, че командата е валидна за почти всички видове сървърни конфигурации. Тя позволява да се наблюдават общите статистики за системата или за отделния процесор. Този преглед може да ви помогне да забележите възможни проблеми с приложенията, преди потребителите да са разбрали преди вас.

netstat

”netstat” е от инструментите, които администраторите използват ежедневно. Тя предоставя информация свързана с мрежите, като употреба на сокетите, routing, протоколи, мрежови статистики и други. Някои от най-използваните netstat опции са:

• -a - показва цялата информация за сокетите; • -r - показва цялата routing информация; • -i - показва цялата статистика за мрежовия интерфейс; • -s - показва статистика за мрежовите протоколи;

nmon

”nmon” е съкращение от „Nigel’s Monitor“ – популярен инструмент за наблюдение на производителността на Linux системи, който е с отворен код. “nmon” наблюдава информацията за производителността на няколко подсистеми, като процесорната утилизация, утилизация на паметта, входящо-изходящи данни за дисковете, мрежите и други. “nmon” предоставя данните в реално време, като използва конзолата дори за да създаде своеобразни „диаграми“, които да онагледят статистиките, които следите.

Посочените команди са малка капчица в океана от възможности, които предоставя Linux системната администрация. Ако искате да научите още неща, като инсталиране и настройка на Linux-базирани операционни системи, управление на потребители и права за достъп, както и създаване на скриптове и автоматизиране на задачи, то определено имате нужда от курса „Linux System Administration – февруари 2019“. Не изпускайте тази невероятна възможност и се запишете още днес!


tee - reads input and sends it to input and file

tee command reads the standard input and writes it to both the standard output and one or more files

tee in examples

Disk usage

du --max-depth=1 -h

Benchmarks

ab

ab - Apache HTTP server benchmarking tool. It could benchmark other servers as tomcat for eg.

Tricks

Simple temporal Cron job alternative

watch -n 60 rm -v server.log.\*

Other

autoconf tutorial

windows ports of linux apps, by cygwin. Read setyp.hint file, just a mirror - ftp.uni-kl.de/pub/windows/cygwin/

Find Out My Linux Distribution Name and Version

cat /etc/*-release

Проверка на версия:

cat /proc/version

/etc/modprobe.d/blacklist.conf - ignore kernel module

dmesg | less

ifconfig -> ip a

htop -> better version of top

scp -r payoutbots-2018 Georgi.Mitev@bgucdev1-cas-pub-server-03:/tmp

TO INSTALL

apt-get install sudo
apt-get install 
apt-get install 
apt-get install 
apt-get install

Windows software for Linux use

putty

pageant - easy usage/logging for putty; The software from Ivo Milanov