open terminal
: Ctrl + Alt + T Ctrl + C is used to kill a process with
SIGINT signal, in other words, it is a polite assassination. Ctrl +
Z is used to suspend a process
by sending it the SIGTSTP signal, which is like a sleep signal, which can be undone and the process can be resumed again
. Ctrl+
D: Close the current session, similar to exiting.
History | grep “command looking”
Ctrl+
- R: Type to display a recent command
-
!! – repeat the last command
-
fg in foreground or bg in background
-
one word on the current
-
Ctrl+U – clears the entire line
-
for
Exit – Log out Current
Ctrl+W – clears
line
Change password
user passwd user sudo groupadd ic-api sudo usermod -g ic-api
ic-api
miranda-zhang/ssh.md
Search find
. -type f -name “*.conf”
Grep
Example:
grep -lr ‘gceu’ .
grep pattern dir – Pattern search in dir.
Flags:
The –
l (or -files-with-matches) option is used only to print matching file names, and not matching lines (this could also improve speed, since grep stops reading a file at first matches this option).
–
r recursive
–
i ignore-case –
include search
only for files that match the
grep file pattern -ril -include *.py -include *.html command “.id” | grep pattern –
- find pattern in command output
More about regex.
Grep OR
grep ‘pattern1|pattern2’ filename grep -E ‘pattern1|pattern2’ filename
Grep before after grep
-B 4 -A 4 Find
all file instances
Locate file cal –
- show calendar
- this month Uptime
- current uptime
- who’s online
- Whoami – Who is logged in as
- Show information about the user
- htop – a lightweight process viewer in text mode packed with useful features like killing processes without entering their PID, displaying complete command lines, etc. with a color display
– Show
W – Show
a finger user –
Operating system version
Show
kernel
information uname -a
Ubuntu
lsb_release -a
CentOSCTL
hostname
http://whatsmyos.com
CPU information
cat /proc/cpuinfo
Show only the number of cores
grep -c ^processor /proc/cpuinfo
https://stackoverflow.com/questions/6481005/how-to-obtain-the-number-of-cpus-cores-in-linux-from-the-command-line
Information
of memory cat /proc/meminfo Show
memory and swap usage, display output in gigabytes.
Free -g
Date Time
Display the current date and time,
in the format of: date+”T”+hour+minute+second+UTC time zone offset $ date
+”%FT%H%M%S%z” 2019-02-19T104943+1100
https://www.cyberciti.biz/faq/linux-display-date-and-time/
Disk
df -h
Show disk usage with a human-readable drive.
du -h -max-depth=1
displays directory space usage, just one level deep.
IP
ip a
One-line command to simply grep the ip: ip
a | GREP “Global Reach” | grep -Po ‘(?<=inet )[d.] +’
For older versions of centOS:
ifconfig | Grep “Inet” | grep -v 127.0.0.1 | awk ‘{print $2}’
CentOS older
netstat – Print network connections, routing tables, interface statistics, masking connections, and multicast memberships
–
a, -all Show listening and non-listening sockets (for TCP this means established connections). Using the -interfaces option, display interfaces that are not active
-numeric ,
-n Show numeric addresses instead of trying to determine symbolic host, port, or user names
. –
p, -program Displays the PID and the name of the program to which each socket belongs.
netstat -ANP | grep :8
https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s1-server-ports.html
CentOS 7 Netstat, which is part of the net-tools package, has officially been deprecated, so you should use SS (part of the iproute2 package), in the future. ss –
anp | grep :8443
https://unix.stackexchange.com/a/385500/36816
ss -lnpt ‘sport = :3000’ -l, -listening Show only listening sockets
(ignored by default).
-n, –
numeric Do not attempt to resolve service names
. -p, -processes Show process using socket. –
t, -tcp Show TCP sockets
.
https://unix.stackexchange.com/questions/106561/finding-the-pid-of-the-process-using-a-specific-port
journalctl -u nginx.service
–
from today
https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs
Ubuntu document
Prints the names and
values of all currently defined environment variables printenv
Examine the value of a particular variable
printenv DBPASS
or
echo $ TERM
Dollar
sign
The dollar sign $ can be used to combine the values of environment variables into many shell commands. For example, the following command can be used to enumerate the contents of the “Desktop” directory within the current user’s home directory.
ls $HOME/
Desktop-wide
environment variables
Add var to this file:
sudo -H nano /etc/environment
It is important to do it exactly the way above, and not as a root user, as it can cause problems like not being able to log in. If you use normal sudo to launch graphical applications (including editors, for example, gedit), sometimes you make configuration files owned by root, read more about this here.
The only time the file is read
is at login, when the PAM stack is activated, specifically pam_env.so, which reads the file
.
Logging out and logging back in would apply the changes, and indeed you must if you want all your processes to receive the new environment. All other solutions will only apply the environment to the single shell process, but not to anything that boots through the GUI, including new terminal windows.
Which application
shows which application will run by default
man command display
the manual for the whereis app command
– show
- possible locations of the
miranda-zhang
/bash.md application https://gist.github.com/miranda-zhang/9871f934edbb87a23c11185b85e191be
dir dir – change directory to dir
- cd – switch to start
- pwd – show
- current directory mkdir dir – create a
- dir
- -f
- force delete dir directory *
- ; create dir2 if mv1 file does not exist
- – rename or move file1 to file2 If File2 is an existing directory, moves File1 to the Contact File2 directory
- Create or update
- File > Cat: Places the standard input in
- : generates
- HEAD
- tail -f file – output of file contents as it grows, starting with the last 10 lines
dir rm directory
file – delete rm -r dir file – delete
directory rm
file – force delete rm -rf dir file –
cp1 file2 – copy file1 to file2 cp -r dir1 dir2 – copy dir1 to dir2
file2
File:
file
the file More File
the contents of the file
file – output of the first 10 lines of file tail file – output of the last 10 lines of file
GUI file manager xdg-open
.
https://askubuntu.com/a/31196/202823
Directory listing:
show hidden files with-a,
show details with -l ls –
al Determine the file type,
i.e. check if something is a symbolic link.
File
Counting files in the current directory
ls -1 | wc -l
This uses wc to count the number of lines (-l) in the output of ls –
1.
http://tldp.org/HOWTO/Bash-Prompt-HOWTO/x700.html
- Chmod file permissions OCTAL file – change file permissions to octal, which can be found separately for user
- 2
- (x)
, group, and world by adding: 4 – read (r)
– write (w) 1 – run
Examples:
- chmod 777 – read, write, run for all Chmod
- 755 – RWX for owner, RX for group and world
Archive
tar CF compression.tar files: create a file named tar.tar containing tar xf file.tar – extract files from the archive.tar tar czf file.tar.gz files – create a tar with compression Gzip tar file XZF.tar.gz – extract a tar using Gzip tar cjf file.tar.bz2 – create a tar
- with Bzip2 compression tar
- xjf file.tar.bz2 – extract a tar using Bzip2
- gzip
- – compresses
- the file and renames it to
- unzip file.gz back to top of file
file
file.gz gzip -d file.gz –
– show all running processes kill pid – kill process id
- id killall
- kill all processes named proc *
- bg – lists stopped or background jobs; Resume a stopped job in the background
- foregrounds
- the latest job FG N: Brings the job n to the foreground
proc –
FG:
ps Show
currently active processes
- https://unix.stackexchange.com/questions/163145/how-to-get-whole-command-line-from-a-process
Show the complete command, including arguments.
$
ps
-p [PID] -o args ping host –
- ping host and
- output results
- get DNS information for domain dig
- reverse lookup host
- wget
- c file – continue a stopped download
whois
domain – get whois information for domain dig domain –
-x host –
– wget file – download file
–
Debian
dpkg -i pkg.deb
RPM
rpm -Uvh pkg.rpm
CentOS
yum install pkg Ubuntu apt update apt
upgrade apt install pkg
Node.js, Javascript npm install package manager
Install from source:
- ./configure
- make
make
install
Possible log location
/var/log/audit/audit /audit.log grep “denied” /var/log/audit
/audit
.log
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/sec-understanding_audit_log_files
Graph with gnuplot interactively: apt update apt install gnuplot-x11
gnuplot
https://shapeshed.com/unix-ln/#how-to-create-a-symbolic-link
Create symbolic link to
ln -s file source_file
Sin -s link, then create a hard link.