前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速查表 | Bash cheat sheet!

速查表 | Bash cheat sheet!

作者头像
生信宝典
发布2022-01-19 14:43:05
2310
发布2022-01-19 14:43:05
举报
文章被收录于专栏:生信宝典生信宝典

Bash Scripting Basics

Here, we list some basic bash syntax with a brief explanation. It is a good starting point if you are a beginner.

Syntax

Explanation

#!/bin/bash

Used to tell the operating system the path it should use to interpret the file.

bash file.sh

Used to execute the script in the terminal.

./file.sh

Used to execute the script if it is executable.

#

Used to make comments in the script.

&&

logical AND operator.

| |

logical OR operator.

$#

Used to expands the number of arguments passed to the script.

$0

Used to expands to the name of the shell.

$1, $2

Used as an input param?eter that you can add when running script.

exit [0-255]

Used to exit the script and return the number from 0 to 255.

$

Used for parameters and variables.

()

Used for running commands in a subshell.

$()

Used to save the output of commands.

(())

Used for arithmetic.

$(())

Used to retrieve the output of arithmetic expressions.

[]

Used in filename expansion and string manipulation.

<( )

It is very similar to a pipe and used for process substitution.

{ }

Used to expand sequences.

${ }

Used for string manipulation and variable interpolation.

|

Used to run multiple commands together.|

>

Used to send output to a file.

>>

Used to append output to a file.

;

Used to separate multiple commands.

<

Used to get input from a file.

~

Expands to the home directory.

~/.bashrc

Read by every non-login shell.

/etc/profile

Executed automatically at login.

File Test Operators

Here, we will list some helping testing operators for permissions, size, date, file type, or existence in the bash script.

Operators

Explanation

-e

To test if a file exists.

-f

To test if a given file is a regular file.

-d

To test if the file is a directory.

-b

To test if the file is a block device.

-s

To test if the file is not zero sizes.

-L

To test if the file is a symbolic link.

-S

To test if the file is a socket.

-r

To test if the file has read permission.

-w

To test if the file has write permission.

-x

To test if the file has execute permission.

-g

Set group id on file or directory.

-u

Set user id on file or directory.

-k

Set a sticky bit.

-O

You are the owner of the file.

f1 -nt f2

file f1 is newer than f2.

f1 -ot f2

file f1 is older than f2

Comparison Operators

Comparison operators are used in bash to compare two strings to check if they are equal or not. Here, we will list some comparison operators including, string, and integer operators.

Integer Operators

Operators

Explanation

-eq

is equal to

-ne

is not equal to

-gt

is greater than

-ge

is greater than or equal to

-lt

is less than

-le

is less than or equal to

String Operators

Operators

Explanation

=

is equal to

==

is equal to

!=

is not equal to

<

less than

<=

is less than or equal to

>

greater than

>=

is greater than or equal to

-z

string is null

-n

string is not null

Regular Expressions

Regular expressions are shortened as ‘regexp' or ‘regex'. They are strings of characters that define a search pattern. It can be used as a search or search & replace operation.

Expressions

Explanation

.

Matches any single character.

?

The preceding item is optional and will be matched, at most, once.

*

The preceding item will be matched zero or more times.

+

The preceding item will be matched one or more times.

{N}

The preceding item is matched exactly N times.

{N,}

The preceding item is matched N or more times.

^

Matches the empty string at the beginning of a line.

$

Matches the empty string at the end of a line.

[a-d]

Matches any one character in the range a-d.

Loops and Conditions

A loop is a statement in a bash programming language that allows code to be repeatedly executed. You can set specific conditions during the script execution.

Loops

Explanation

if then fi

Used to test a condition.

if then else fi

Used to test a condition and use a fallback if the test fails.

if then elif else fi

Used to test a condition and use a fallback if all tests fail.

for do done

Iterate over a list of values.

while do done

Used to performs a given set of commands an unknown number of times as long as the given condition evaluates to true.

until do done

Used to execute a given set of commands as long as the given condition evaluates to false.

sleep time

Wait for a specified amount of time before continuing through the script.

break

Used to exit from the while or for loop but continue the rest of the script.

continue

Used to skip the current iteration of a loop and continue to the next iteration of the loop.

Bash Arrays and Functions

Array

Explanation

array=(“elements of array”)

Used to create an array of strings.

${array[0]}

Used to get the first element of the array.

${array[*]}

Used to get all values in the array.

${array[1]}

Get the last value in the array.

${array[@]}

Expand all of the array elements.

shift

Move argument from $2 to $1.

function() { content-of-function }

Used to define a function.

alias

Used to list all aliases defined in the current session.

alias alias='any command'

Used to define an alias.

Common Utilities and Switches

This cheat sheet will show you the most useful commands and switches to help you in your network and system administration.

Commands

Explanation

ls -l

List files by type and permission.

ls -a

List all files, including hidden files.

pwd

Display current working directory.

whoami

Who you are logged in as.

last

Display last user logins information.

find /home -name *.txt

Search all text files in /home directory.

find . -size 10k -print

Find all files greater than 10k in the current directory.

egrep “(foo|bar)” file.txt

Find the words foo and bar in file.txt.

sed s/foo/bar/g file.txt

Find the word foo and replace it with a bar in file.txt.

locate file.txt

Find the location of the file.txt quickly.

grep foo file.txt

Searches the word foo in file.txt.

ps -ef

To check all running services.

netstat -ant

To check all network connections.

netstat -ent

To check established network connections.

ifconfig

To check all network interfaces, IPs, and Mac addresses.

ping

Used to check host reachability.

nslookup

Used for DNS query.

ssh

Used to login remote Linux system.

scp -r dir user@remote-ip:/opt/

Copy all files and directories recursively from the local system to a remote system.

scp -r user@remote-ip:/opt/ dir/

Copy all files and directories recursively from the remote system to a local system.

rsync -avz localdir user@remote-ip:/backup

Synchronize files/directories between the local and remote systems.

df -h

Shows free and used space on mounted filesystems.

du -sh

Shows total disk usage of the current directory.

free -m

Show free and used memory and swap space.

lsof

Lists files opened by running processes.

chown user:group filename

Change the owner of the file and directory.

chmod ugo file.txt

Change the user, group, and other permis?sions for file.txt.

kill pid

Kill any running process.

passwd username

Used to set or reset the user password.

top

Display all running processes, memory usage, cpu usage in real-time.

Shell Builtins

Builtin commands are contained within the shell itself. They called from a shell, that is executed directly in the shell instead of an external executable program.

Builtins

Explanation

.

Used to reads and runs commands from a designated file in the current shell.

alias

Used to define an alias for a specific command.

bg

Run a job in background mode.

bind

Used to bind a keyboard sequence.

break

Used to exit from a running loop in script.

cd

Change the directory to another directory.

command

Run a specific command without the normal shell lookup.

continue

Resumes the next iteration of the loop in script.

declare

Used to declare a variable.

dirs

Shows a list of all remembered directories.

disown

Remove a job from the job table.

enable

Used to enable or disable built-in command.

exec

Replace the shell process with the specified command.

exit

Used to exit the shell with an exit status.

export

Used to set a variable available for sub-process.

fc

Select a list of commands from the history list.

fg

Run a job in foreground mode.

hash

Used to find and remember the full path of the specified command.

help

Used to display the help file.

history

List the history of all commands.

jobs

List all active jobs.

logout

Used to exit from the current shell.

pwd

Display the path of the current working directory.

read

Read one line from STDIN and assigns it to a variable.

popd

Removes entries from the directory stack.

pushd

Add a directory to the directory stack.

printf

Displays text in a formatted string.

source

Read and executes commands from a specified file in the current shell.

times

Displays the accumulated user and system shell time.

wait

Make the shell wait for a job to finish.

Conclusion

In this cheat sheet, we endeavored to include all syntax and commands that will help you in your day-to-day system and network administration process.

来源:https://www.pcwdld.com/bash-cheat-sheet#wbounce-modal

本文参与?腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-16,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 生信宝典 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Bash Scripting Basics
  • File Test Operators
  • Comparison Operators
  • Regular Expressions
  • Loops and Conditions
  • Bash Arrays and Functions
  • Common Utilities and Switches
  • Shell Builtins
  • Conclusion
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com