Difference between revisions of "Linux Commands"
(→Directory Commands) |
(→Utilities) |
||
Line 239: | Line 239: | ||
Extract gzip | Extract gzip | ||
gzip -dv [file name] | gzip -dv [file name] | ||
+ | |||
+ | ===Clear Screen=== | ||
+ | Clear Screen | ||
+ | clear | ||
+ | |||
+ | ===Schedule Tasks=== | ||
+ | crontab – Schedule a command to run at a later time. | ||
+ | |||
+ | Each line in the cron (cron is the daemon) table follows the following format: 7 fields left to right. | ||
+ | Field Meaning | ||
+ | 1 Minute (0-59) | ||
+ | 2 Hour (2-24) | ||
+ | 3 Day of month (1-31) | ||
+ | 4 Month (1-12, Jan, Feb, ...) | ||
+ | 5 Day of week (0-6) 0=Sunday, 1=Monday ... or Sun, Mon, Tue, Wed, Thur, Fri | ||
+ | 6 User that the command will run as | ||
+ | 7 Command to execute | ||
+ | |||
+ | So, if you want to have Netcleanse restart the ntp-client to reset the time every hour, then you'd use this command: | ||
+ | |||
+ | This will load the crontab editor. Add the entry below, save the change and exit the editor. | ||
+ | crontab -e | ||
+ | 0 * * * * root /etc/init.d/ntp-client restart | ||
+ | |||
+ | ===Date and time=== | ||
+ | This command can be used to display the current time on the server or adjust the time. | ||
+ | cate |
Revision as of 22:35, 23 November 2015
Useful Linux Commands
You can use man [command]
to get information about a command, but that is more programmer oriented. You are generally better off going to a search engine and searching for [command] examples
.
One of the great powers of Linux is being able to pipe |
or redirect outputs from one command to another to do things.
You can also use these commands to create bash scripts.
Contents |
Disk Commands
Returns a quick overview of what disks are mounted and how full they are in human readable formatting.
df -h
Directory Commands
Change Directory
Change directory. Tab complete can help traverse the tree.
cd [destination directory]
Change to root directory
cd /
go up one level
cd .. ..
go up two levels
cd ../.. ...
Directory details
Returns an estimate of file space usage, in human readable format (k,M,G). Warning: May take a long time.
du -h
Returns a total size of the directories under where this command was run and sorts by size.
du -hsx * | sort -rh | head -10
Create a directory
Creates a directory
md [directory name] mkdir [directory name]
Copy a directory
Copy a directory recursively "R"
cp -R "source" "destination"
Remove a directory
Removes a directory and its contents. Warning: irreversible, fast and dangerous if done in the wrong place with wrong switches. [1]
rm -r "directory"
Directory List
Return a list of files in a directory. This always works (shows file size in bytes)
ls -s
This is a SLES alias of the above
l
Display file size in human-readable values "-h" (K,M,G)
l -h
Sorted by size "S", ascending "r", human-readable "h"
l -Srh
Sorted by time "t", ascending "r", human-readable "h"
l -trh
Show hidden files "a", long list format "l", human-readable "h"
l -alh
Sorted by reverse chonological order l -qaltr
List all open files
lsof
Change Permissions
Permissions are a big deal in Linux [2] not so much in Windows.
Add read and write permissions to User and Group but only read to Other recursively "R" in the destination directory
chmod -R 664 /[destination]
Add Execute, read, and write permissions to User and Group but only read to Other recursively "R" in the destination directory
chmod -R 774 /[destination]
Add all the permissions
chmod -R 777 /[destination]
Change Ownership
Ownership of a directory can make a big difference in how Retain works
chown user:group directory/
Change the ownership recursively "R" to user tomcat and group tomcat of the logs directory in the current directory
chown -R tomcat:tomcat logs/
File Commands
Show the contents of a file
cat "filename"
Pipe through more to display a screen full of text at a time (space for next page, enter for next line, ctrl-c to break out)
cat "filename" | more
Pipe through less to display file in less.
cat "filename" | less
Find a file
Find a file from the root of the file system (aka looks everywhere for it) Warning: may take a long time.
find / -name "fileName"
Find all files with the string "log" as part of the filename.
find . | grep log
Find and recursively unzip all items in a directory structure called zippedDir to the current directory.
find /zippedDir -name "*.zip" -exec unzip {} \;
Find files in current directory older than 7 days and delete them.
find . -mtime +7 -exec rm {} \;
Find any file off the root and beyond that is larger than 20M:
find / -type f -size +20M -exec ls -lh {} \; | awk '{ print $NF ": " $5 }'
Copy a file
cp origin /destination/file
To copy particular files recursively
cp -r *.txt /destination
To copy to the current directory
cp /software/origin.file .
To secure copy a file to a remote location
scp [source] [destination IP address]:[username]/[destination]
Sync a file or directory between locations, recurse "r" through subdirectories, retain "a" permissions, ownership and timestamps, verbose "v" logging to screen, show progress "P"
rsync -ravP [source] [destination]
Move a file
Moves file to the destination directory in verbose "v" mode.
mv -v "file" "destination"
Remove or delete a file
Removes a particular file
rm "file"
Change Permissions
Permissions are a big deal in Linux [3] not so much in Windows. Add execute "x" rights to all levels on all shell scripts in the current directory
chmod +x *.sh
Network
Download the Latest Version of Retain
wget "http://download.gwava.com/download.php?product=Retain&version=current"
Find the IP address of the server
ifconfig
look up mx records
host -t MX [domain.com]
Determine hosts
cat /etc/resolv.conf
DNS
nslookup "Enter" server "Enter"
Clear DNS Cache
rcnscd stop
then
rcnscd start
Trace the route to a server
traceroute [domain.com]
Show the system name
hostname
SSH Secure connect to another system, exit to leave ssh shell
ssh [hostname or ip address]
telnet Useful for testing connections. You can send a test email with it:
telnet [IP address or DNS hostname] [port] ehlo [ENTER] mail from: retain@[your domain name] (note: the "from" can actually be spoofed - it really can contain any text of user@domain.com)[ENTER] rcpt to: [yours or a user's email address][ENTER] data[ENTER] subject: test email from telnet on Retain server[ENTER] This is a test[ENTER] .[ENTER] (you are literally typing a "period" here and pressing [ENTER]) quit[ENTER]
Process Commands
Display memory usage
free -m
Display an overview of the system resources can be used to find a process
top
Check runlevel of a process
chkconfig [process name]
Find a process
To find a running process you know the name of
ps aux | grep [process name]
Kill a process
You have to find a runaway process with top
or ps
kill [process ID]
It the process us hung you may have to be more forceful
kill -9 [process ID]
Who is logged in
Returns a list of logged in users if the TTY column shows "pts/3" that shows us that use is remotely logged in.
who w
Utilities
History
Get a history of commands
history
To run a past command
![number of command to run from history]
To run a past command by name
![Ctrl-r][start typing desired command]
Create archives
Create a tape archive of a bunch of files
tar -cvf [dest file name] [source directory]
Extract a tar
tar -xvf [filename]
compress files
Zip
zip [dest file name] [source directory]
Unzip
unzip file.zip -d /[directory]
Create a gzipped tar file
tar -czvf [dest file name] [source directory]
Extract a gziped tar
tar -xvzf [filename]
Extract gzip
gzip -dv [file name]
Clear Screen
Clear Screen
clear
Schedule Tasks
crontab – Schedule a command to run at a later time.
Each line in the cron (cron is the daemon) table follows the following format: 7 fields left to right. Field Meaning 1 Minute (0-59) 2 Hour (2-24) 3 Day of month (1-31) 4 Month (1-12, Jan, Feb, ...) 5 Day of week (0-6) 0=Sunday, 1=Monday ... or Sun, Mon, Tue, Wed, Thur, Fri 6 User that the command will run as 7 Command to execute
So, if you want to have Netcleanse restart the ntp-client to reset the time every hour, then you'd use this command:
This will load the crontab editor. Add the entry below, save the change and exit the editor.
crontab -e 0 * * * * root /etc/init.d/ntp-client restart
Date and time
This command can be used to display the current time on the server or adjust the time.
cate