General Linux Commands
Commands and General functions | In Terminal
- General Linux Commands | In terminal
- Time In Linux | setting time zones
- BASH | General commands
- Nginx | General Commands
- Docker | General Commands
- Linux command line: bash + utilities
- UnZip and UnCompress
- How to check IP address from command line | Internal and External
- UFW
- How to clean log files in Linux
General Linux Commands | In terminal
- Check operating system
cat/etc/*rel*
- Check system info
- CPU
cat /proc/cpuinfo
- Memory
cat /proc/meminfo
- CPU
- ports - Check for listening ports.
netstat -tulpn
- Check users and passwords (PUID and)
getent passwd
- change ownership of directory/folder or file
- directory / folder
chown root:root filename/
chown -R root:root filename/
(all sub folders/files)
- files
chmod 775 filename/
- directory / folder
Check file size and other info: Different ways to check for files size
-
ls -lh
-ls -l
filename #check size of the specified file (bytes)
-ls -l
* #check size of all the files in the current directoryapt-get update
-ls -al
* #check size of all the files including hidden files in the current directory
-ls -al
dir/ #check size of all the files including hidden files in the ‘dir’ directory
-du -sh
filename
-du -sh -- *
Shows disk space usage
-df -h .
Shows free disk space
Show block devises | show drives
lsblk
Show drive serial numbers
lsblk --nodeps -o name,serial
Minimize: Go back to terminal without getting out of your doc
Ctrl=Z
To go back to the doc fg
Press enter
Copy File from Host to Container
docker cp doc.txt container_id:/doc.txt
Copy host-file-name container_id:/new-file-name.txt
Run docker-compose from another directory
docker-compose -f /tmp/myproject/docker-compose.yml up -d
Updating:
Debian:
update the package index files in Linux to get the latest list of available packages in the repositories.
apt-get update
upgrade currently installed software packages to their latest versions. Under no circumstances are existing packages removed:
apt-get upgrade
enhanced version of the apt-upgrade command. Apart from upgrading existing software packages, it installs and removes some packages to satisfy some dependencies.
apt-get
Computer susbend / wakeup automatically
sudo rtcwake -m [type of suspend] -s [number of seconds]sudo rtcwake -m 5 -s 30
Disk shutoff for 60 seconds
sudo rtcwake -m disk -s 60
Disk shutoff and turn on later
sudo rtcwake -m no -l -t $(date +%s -d 'tomorrow 09:00')
Types of Suspend
The -m
switch accepts the following types of suspend:
standby
– Standby offers little power savings, but restoring to a running system is very quick. This is the default mode if you omit the -m switch.
mem
– Suspend to RAM. This offers significant power savings – everything is put into a low-power state, except your RAM. The contents of your memory are preserved.
disk
– Suspend to disk. The contents of your memory are written to disk and your computer is powered off. The computer will turn on and its state will be restored when the timer completes.
off
– Turn the computer off completely. rtcwake’s man page notes that restoring from “off” isn’t officially supported by the ACPI specification, but this works with many computers anyway.
no
– Don’t suspend the computer immediately, just set the wakeup time. For example, you could tell your computer to wake up at 6am. After that, can put it to sleep manually at 11pm or 1am – either way, it will wake up at 6am.
Seconds vs. Specific Time-s
this option takes a number of seconds in the future. For example, -s 60 wakes your computer up in 60 seconds, while -s 3600 wakes your computer up in an hour.
-t
this option allows you to wake your computer up at a specific time. This switch wants a number of seconds since the Unix epoch (00:00:00 UTC on January 1, 1970). To easily provide the correct number of seconds, combine the **date** command with the rtcwake command.
-l
this switch tells rtcwake that the hardware clock is set to local time, while the **-u** switch tells rtcwake that the hardware clock (in your computer’s BIOS) is set to UTC time. Linux distributions often set your hardware clock to UTC time and translate that to your local time.
make a [[Cronjob]]
Time In Linux | setting time zones
Check your timezone on Linux by typing in timedatectl
command.
Output:
$ timedatectl
Local time: Wed 2019-10-16 22:26:23 UTC
Universal time: Wed 2019-10-16 22:26:23 UTC
RTC time: Wed 2019-10-16 22:26:24
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
systemd-timesyncd.service active: inactive
RTC in local TZ: no
If you don't know your time zone, find it and copy it.
timedatectl list-timezones
Set your time zone:
timedatectl set-timezone America/New_York
Make sure it worked:
timedatectl
Or
Go here. It tells you everything you need there.
- https://devconnected.com/how-to-set-date-and-time-on-linux/
BASH | General commands
When running bash scripts, you can include other commands on the same line by using these at the end of each "line" command.
bash:
A; B # Run A and then B, regardless of success of A
A && B # Run B if and only if A succeeded
A || B # Run B if and only if A failed
A & # Run A in background.
Example: apt install vim -y A && B apt update vim -y
Running a bash script file .sh:
sh scriptfilename.sh
If you get a "Permission denied" error, either run "sudo" or you may need to make the script executable by running
chmod +x scriptname.sh
Nginx | General Commands
A few commands Nginx
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl status nginx
Troubleshooting Nginx
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/odoo/odoo.log
Check connection
curl -I http://<your-external-ip>:80
curl -I https://<your-external-ip>:443
Docker | General Commands
Do you have docker?
docker -v
Install Docker: apt install docker
Do you have docker-compose? docker-compose -v
Docker in Linux Commands (From outside containers):docker images
docker ps -a
docker ps
docker
Go into a Container
Standard login:
sudo docker exec -it containername bash
Log in as root:
docker exec -it --user root containername bash
To log in as root you can do it this way.
sudo docker exec -u 0 -it containername bash
Run docker from different directory:
sudo docker-compose -f /directory/to/file/docker-compose.yml up -d
Linux command line: bash + utilities
A | ||
& | Start a new process in the background | |
alias | Create an alias • | |
apropos | Search Help manual pages (man -k) | |
apt | Search for and install software packages (Debian/Ubuntu) | |
apt-get | Search for and install software packages (Debian/Ubuntu) | |
aptitude | Search for and install software packages (Debian/Ubuntu) | |
aspell | Spell Checker | |
at | Schedule a command to run once at a particular time | |
awk | Find and Replace text, database sort/validate/index | |
B | ||
basename | Strip directory and suffix from filenames | |
base32 | Base32 encode/decode data and print to standard output | |
base64 | Base64 encode/decode data and print to standard output | |
bash | GNU Bourne-Again SHell | |
bc | Arbitrary precision calculator language | |
bg | Send to background | |
bind | Set or display readline key and function bindings • | |
break | Exit from a loop • | |
builtin | Run a shell builtin | |
bzip2 | Compress or decompress named file(s) | |
C | ||
cal | Display a calendar | |
caller | Return the context of any active subroutine call • | |
case | Conditionally perform a command | |
cat | Concatenate and print (display) the content of files | |
cd | Change Directory | |
cfdisk | Partition table manipulator for Linux | |
chattr | Change file attributes on a Linux file system | |
chgrp | Change group ownership | |
chmod | Change access permissions | |
chown | Change file owner and group | |
chpasswd | Update passwords in batch mode | |
chroot | Run a command with a different root directory | |
chkconfig | System services (runlevel) | |
cksum | Print CRC checksum and byte counts | |
clear | Clear terminal screen | |
cmp | Compare two files | |
comm | Compare two sorted files line by line | |
command | Run a command - ignoring shell functions • | |
continue | Resume the next iteration of a loop • | |
cp | Copy one or more files to another location | |
cpio | Copy files to and from archives | |
cron | Daemon to execute scheduled commands | |
crontab | Schedule a command to run at a later time | |
csplit | Split a file into context-determined pieces | |
curl | Transfer data from or to a server | |
cut | Divide a file into several parts | |
D | ||
date | Display or change the date & time | |
dc | Desk Calculator | |
dd | Data Duplicator - convert and copy a file, write disk headers, boot records | |
ddrescue | Data recovery tool | |
declare | Declare variables and give them attributes • | |
df | Display free disk space | |
diff | Display the differences between two files | |
diff3 | Show differences among three files | |
dig | DNS lookup | |
dir | Briefly list directory contents | |
dircolors | Colour setup for 'ls' | |
dirname | Convert a full pathname to just a path | |
dirs | Display list of remembered directories | |
dos2unix | Windows/MAC to UNIX text file format converter | |
dmesg | Print kernel & driver messages | |
dpkg | Package manager (Debian/Ubuntu). | |
du | Estimate file space usage | |
E | ||
echo | Display message on screen • | |
egrep | Search file(s) for lines that match an extended expression | |
eject | Eject removable media | |
enable | Enable and disable builtin shell commands • | |
env | Environment variables | |
ethtool | Ethernet card settings | |
eval | Evaluate several commands/arguments | |
exec | Execute a command | |
exit | Exit the shell | |
expand | Convert tabs to spaces | |
export | Set an environment variable | |
expr | Evaluate expressions | |
F | ||
false | Do nothing, unsuccessfully | |
fdformat | Low-level format a floppy disk | |
fdisk | Partition table manipulator for Linux | |
fg | Send job to foreground | |
fgrep | Search file(s) for lines that match a fixed string | |
file | Determine file type | |
find | Search for files that meet a desired criteria | |
fmt | Reformat paragraph text | |
fold | Wrap text to fit a specified width | |
for | Expand words, and execute commands | |
format | Format disks or tapes | |
free | Display memory usage | |
fsck | File system consistency check and repair | |
ftp | File Transfer Protocol | |
function | Define Function Macros | |
fuser | Identify/kill the process that is accessing a file | |
G | ||
gawk | Find and Replace text within file(s) | |
getopts | Parse positional parameters | |
getfacl | Get file access control lists | |
grep | Search file(s) for lines that match a given pattern | |
groupadd | Add a user security group | |
groupdel | Delete a group | |
groupmod | Modify a group | |
groups | Print group names a user is in | |
gzip | Compress or decompress named file(s) | |
H | ||
hash | Remember the full pathname of a name argument | |
head | Output the first part of file(s) | |
help | Display help for a built-in command • | |
history | Command History | |
hostname | Print or set system name | |
htop | Interactive process viewer | |
I | ||
iconv | Convert the character set of a file | |
id | Print user and group id's | |
if | Conditionally perform a command | |
ifconfig | Configure a network interface | |
ifdown | Stop a network interface | |
ifup | Start a network interface up | |
import | Capture an X server screen and save the image to file | |
install | Copy files and set attributes | |
iostat | Report CPU and i/o statistics | |
ip | Routing, devices and tunnels | |
J | ||
jobs | List active jobs • | |
join | Join lines on a common field | |
K | ||
kill | Kill a process by specifying its PID | |
killall | Kill processes by name | |
klist | List cached Kerberos tickets | |
L | ||
less | Display output one screen at a time | |
let | Perform arithmetic on shell variables • | |
link | Create a link to a file | |
ln | Create a symbolic link to a file | |
local | Create a function variable • | |
locate | Find files | |
logname | Print current login name | |
logout | Exit a login shell • | |
look | Display lines beginning with a given string | |
lpc | Line printer control program | |
lpr | Print files | |
lprint | Print a file | |
lprintd | Delete a print job | |
lprintq | List the print queue | |
lprm | Remove jobs from the print queue | |
lsattr | List file attributes on a Linux second extended file system | |
lsblk | List block devices | |
ls | List information about file(s) | |
lsof | List open files | |
lspci | List all PCI devices | |
M | ||
make | Recompile a group of programs | |
man | Help manual | |
mapfile | Read lines from standard input into an indexed array variable • | |
mkdir | Create new folder(s) | |
mkfifo | Make FIFOs (named pipes) | |
mkfile | Make a file | |
mkisofs | Create a hybrid ISO9660/JOLIET/HFS filesystem | |
mknod | Make block or character special files | |
mktemp | Make a temporary file | |
more | Display output one screen at a time | |
most | Browse or page through a text file | |
mount | Mount a file system | |
mtools | Manipulate MS-DOS files | |
mtr | Network diagnostics (traceroute/ping) | |
mv | Move or rename files or directories | |
mmv | Mass Move and rename (files) | |
N | ||
nc | Netcat, read and write data across networks | |
netstat | Networking connections/stats | |
nft | nftables for packet filtering and classification | |
nice | Set the priority of a command or job | |
nl | Number lines and write files | |
nohup | Run a command immune to hangups | |
notify-send | Send desktop notifications | |
nslookup | Query Internet name servers interactively | |
O | ||
open | Open a file in its default application | |
op | Operator access | |
P | ||
passwd | Modify a user password | |
paste | Merge lines of files | |
pathchk | Check file name portability | |
Perf | Performance analysis tools for Linux | |
ping | Test a network connection | |
pgrep | List processes by name | |
pkill | Kill processes by name | |
popd | Restore the previous value of the current directory | |
pr | Prepare files for printing | |
printcap | Printer capability database | |
printenv | Print environment variables | |
printf | Format and print data • | |
ps | Process status | |
pushd | Save and then change the current directory | |
pv | Monitor the progress of data through a pipe | |
pwd | Print Working Directory | |
Q | ||
quota | Display disk usage and limits | |
quotacheck | Scan a file system for disk usage | |
R | ||
ram | ram disk device | |
rar | Archive files with compression | |
rcp | Copy files between two machines | |
read | Read a line from standard input • | |
readarray | Read from stdin into an array variable • | |
readonly | Mark variables/functions as readonly | |
reboot | Reboot the system | |
rename | Rename files | |
renice | Alter priority of running processes | |
remsync | Synchronize remote files via email | |
return | Exit a shell function | |
rev | Reverse lines of a file | |
rm | Remove files | |
rmdir | Remove folder(s) | |
rsync | Remote file copy (Synchronize file trees) | |
S | ||
screen | Multiplex terminal, run remote shells via ssh | |
scp | Secure copy (remote file copy) | |
sdiff | Merge two files interactively | |
sed | Stream Editor | |
select | Accept user choices via keyboard input | |
seq | Print numeric sequences | |
set | Manipulate shell variables and functions | |
setfacl | Set file access control lists. | |
sftp | Secure File Transfer Program | |
sha256sum | Compute and check SHA256 (256-bit) checksums | |
shift | Shift positional parameters | |
shopt | Shell Options | |
shuf | Generate random permutations | |
shutdown | Shutdown or restart linux | |
sleep | Delay for a specified time | |
slocate | Find files | |
sort | Sort text files | |
source | Run commands from a file '.' • | |
split | Split a file into fixed-size pieces | |
ss | Socket Statistics | |
ssh | Secure Shell client (remote login program) | |
stat | Display file or file system status | |
strace | Trace system calls and signals | |
su | Substitute user identity | |
sudo | Execute a command as another user | |
sum | Print a checksum for a file | |
suspend | Suspend execution of this shell • | |
sync | Synchronize data on disk with memory | |
T | ||
tail | Output the last part of a file | |
tar | Store, list or extract files in an archive | |
tee | Redirect output to multiple files | |
test | Evaluate a conditional expression | |
time | Measure Program running time | |
timeout | Run a command with a time limit | |
times | User and system times | |
tmux | Terminal multiplexer | |
touch | Change file timestamps | |
top | List processes running on the system | |
tput | Set terminal-dependent capabilities, color, position | |
traceroute | Trace Route to Host | |
trap | Execute a command when the shell receives a signal • | |
tr | Translate, squeeze, and/or delete characters | |
true | Do nothing, successfully | |
tsort | Topological sort | |
tty | Print filename of terminal on stdin | |
type | Describe a command • | |
U | ||
ulimit | Limit user resources • | |
umask | Users file creation mask | |
umount | Unmount a device | |
unalias | Remove an alias • | |
uname | Print system information | |
unexpand | Convert spaces to tabs | |
uniq | Uniquify files | |
units | Convert units from one scale to another | |
unix2dos | UNIX to Windows or MAC text file format converter | |
unrar | Extract files from a rar archive | |
unset | Remove variable or function names | |
unshar | Unpack shell archive scripts | |
until | Execute commands (until error) | |
uptime | Show uptime | |
useradd | Create new user account | |
userdel | Delete a user account | |
usermod | Modify user account | |
users | List users currently logged in | |
uuencode | Encode a binary file | |
uudecode | Decode a file created by uuencode | |
V | ||
v | Verbosely list directory contents ('ls -l -b') | |
vdir | Verbosely list directory contents ('ls -l -b') | |
vi | Text Editor | |
vmstat | Report virtual memory statistics | |
W | ||
w | Show who is logged on and what they are doing | |
wait | Wait for a process to complete • | |
watch | Execute/display a program periodically | |
wc | Print byte, word, and line counts | |
whereis | Search the user's $path, man pages and source files for a program | |
which | Search the user's $path for a program file | |
while | Execute commands | |
who | Print all usernames currently logged in | |
whoami | Print the current user id and name ('id -un') | |
wget | Retrieve web pages or files via HTTP, HTTPS or FTP | |
write | Send a message to another user | |
X | ||
xargs | Execute utility, passing constructed argument list(s) | |
xdg-open | Open a file or URL in the user's preferred application. | |
xxd | Make a hexdump or do the reverse | |
xz | Compress or decompress .xz and .lzma files | |
yes | Print a string until interrupted | |
zip | Package and compress (archive) files | |
. | Run a command script in the current shell | |
!! | Run the last command again | |
### | Comment / Remark |
Sourced (and copied directly) from ss64.com
UnZip and UnCompress
xz-utils:
You will need xz-utils if you dont have it already. If not, You have to install xz-utils package first:
sudo apt-get install xz-utils
You can use unxz command to extract .xz files:
unxz file.xz
or using with --decompress option of xz:
xz --decompress file.xz
7 Zip
You will need 7zipif you dont have it already. If not, You have to install xz-utils package first:
sudo apt install p7zip
Then, uncompress using the -d
command:
p7zip -d something.7z
How to check IP address from command line | Internal and External
Check your Internal IP address
To check you current machines addres: "ip add" or "ip addr" or;
ip address
Check your external IP address
First make sure that the curl command is installed. If not, do this
sudo apt install curl
By using curl, check the external address by doing this;
curl -w "\n" -s https://api.ipify.org
That should give an output of your external IP address.
UFW
Allow ports
sudo ufw allow 22
remove ports
sudo ufw delete allow 22
How to clean log files in Linux
Fisrt, See the logs that are in the logs area of /var
du -h /var/log/
The du command prints the estimated disk space usage of each file and directory for the path that you specified.
The -h argument causes the command to print the information in a human-readable format.
https://linuxhandbook.com/empty-file-linux/
https://support.hostway.com/hc/en-us/articles/360001972270-How-to-clean-log-files-in-Linux