The common Linux Commands

时间:2021-04-09 14:37:21

Linux的命令总结

1、 man在线请求系统帮助

例:man mkdir

The common Linux Commands

The common Linux Commands

NAME:这个命令的完整全名 mk(make directories)

SYNOPSIS:这个命令的基本语法

mkdir [OPTION]... DIRECTORY...

OPTION:参数

DERECTORY:目录或者行为

DESCRIPTION:具体描述命令的使用方法

-m, --mode=MODE

set file mode (as in chmod), not a=rwx – umask

左边的-m为短参数,右边的--mode为完整参数名称

设置目录的状态(这里可以理解为权限),和chmod这个命令一样,并不是默认权限

用法:

mkdir 777 test.c 使用短参数

等价于

mkdir --mode 777 test1 使用长参数

AUTHOR:作者

REPORTING BUGS:如果出现问题,请发邮件或者登录说明的网址

COPYRIGHT:受到了著作权的法律保护,是GPL

SEE ALSO:还可以在哪里查询这个命令的使用方法,例如:info mkdir

按键:

[Page Dowm]: 向下翻页

[空格键]: 向下翻页

[page Up]:向上翻页

[Home]:回到首页

[End]:回到末页

/String:向下查询字符串,如果要向下查询vbird,使用输入/vbird

?String:向上查询字符串,

n/N:利用/或者?来查询字符串时,可以使用n来继续下一个查询(不论是\还是?),可以利用N来向下查询。举例来说,我以/vbird查询vbird字符串,那么我可以使用n来往下查询,使用N来

q:结束这次的man page

touch

touch:chage file timestamps

update the access and modification times of each FILE to current time .

A FILE argument that does not exsit is created empty unless -c or -h is suppiled

参数:

-a:change only the access time

-c:do not create any files

-d –date=STRING:parse STRING and use it instead of use current time

-f:ignore

-m:change only the modification time

-t STAMP:use [YYMMDDhhmm] instead of current time

--time=WORD:change specified time :WORD is access,atime,or use:equivalent to -a WORD is modify or mtime:equivalent to -m

atime:access time :file is executed or read

ctime:creat time :file is change including content,owner,authority and so on

mtime:modify time:file is written

so if a file is written all time will change

If you want know more ,please click:

http://blog.sina.com.cn/s/blog_67178440010101gr.html

LS

ls – list directory contents

List information about the FILES (the curren directory by default),sort entries alphabetically if none of -cftuzSUX nor

-–sort

-a,--all list

do not ignore entries starting with .

-A –almost-all

Do not list imply . and ..

--author

With l print the author of each file

-d –-directory

list directory entries instead of conents,and do not dereference  symblolic links

-f

Do not sort,enable -aU

-F –- classify

append indicator (one of */=>@|) to entries

-h --human-readable

With -l,print sizes human readable format(e.g.,234M,2G)

-l

Use long list format

-S

sort by file size

-t

sort by modification time

-i

print the index number of each file

for example, use i l and h .

The common Linux Commands

-F --classify

append indicator(one of */=>@|) to entries

The common Linux Commands

usually use -F will add / at the end of the directory, so you can use it and grep to easily get directories.

for example:

The common Linux Commands

-p --indicator--style=slash

append / indicator to directories

we also think it: -F contain -p

-r --reverse

reverse order while sorting

if you want find the latest file you create of many files,you can use: ls -lrt

The common Linux Commands

mkdir

mkdir -- make directory

Create the DIRECTOTY(ies) if the they do not already exsit

args:

-m,--mode=MODE

set file mode (as in chomd),not a=rwx -umask

umask:default authority

-p --parents

no error if existing ,make parent directories as needed

-v --verbose

-v, --verbose

print a message for each created directory

-Z, --context=CTX

set the SELinux security context of each created directory to CTX

cp(copy)

 

copy -- copy files and directories

args

-a --archive

same as -dR --preserve=all

-d:若为连接文件,则复制文件本身

-i --interactive

prompt before overwrite(overrides a previous -n position)

-p

same as -preserve=mode,ownership,timestamps,using 备份

-r --recursive

copy directories recursively

rm

rm --remove directories or files

args:

-f --force

ignore nonexistent files,never prompt

-i

prompt before every removal

-r --recursive

remove directories and their contents recursiveable

mv

mv --move(rename) files

args:

-f --force

do not prompt before overwriting

-i --interactive

prompt before overwriting

-u --update

move only when the SOURCE is newer than destination file or destination file is missing

echo

echo --display a line of a text

-n do not output the trailing newline

for example:

The common Linux Commands

-e enable interpretation of backslash escapes

If e in effect the following sequences are recognized

\n new line

\t vertical tab

for example:

The common Linux Commands

Example:

create a file and write a line content:

echo "This is a test file" > test.file

if you execute the command secondly,it will overwrite the file and if you want to add  not to overwrite,you could use the command:

echo "This is a test file" >> test.file

1、 if PATH is a variable param is system,you use echo $PATH to input its value

2、 echo 123 --> 123

cat&tac

cat -- concatenate files and print on the standard output

-a --show-all

equivalent to -vET

-b --number-noneblank

number nonempty output lines

-e

equvilent to -vE

-E --show-ends

display $ at the end of each line

-n --number

number all output lines

-T --show-tabs

display TAB characters as ^I

-v show-nonprinting

use ^ and M- natation except for LFD and TAB

Example:

if you want use cat to create file,you can use follow

cat > test.file <<EOF

> ds

> dssdwew

> weew

> EOF

the content between EOE will be writtern the file and if the file is not exsit,will create or overwrite

tac: concatenate and print files in inverse

The common Linux Commands

pwd

pwd --print name of current/working directory

Print full name of current working directory

-L --logcial

use PWD from envirment,even if contains symlinks

-P --physical

avoid all symlinks

alias

alias --set a name or var of a long command or character

Example:

1、alias:show all alias in you system or user

The common Linux Commands

“cp = ‘cp -i’” mean that if you cp a file to destination directory and exsiting a same name file in the directory,The system will ask you whether overwrite

2、 if want to set some alias,you can do follow:

alias cat='cat -n',use cat to represent cat -n

in ‘ ’ ,you should use command

3、 if wan cancel some alias,you can use follow:

unalias cat

But we suggest don’t modify system alias which can help we avoid some bad execution. If some command or path too long ,you could use alias. such as, I will use this command “mynet”  to respresent my network information:

alias mynet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

but if do above, this alias is temporary,if you want to use the alias forever, you shoud add the command in ~/.bashrc

The common Linux Commands

head && tail

head --output the first part of files

Print  the  first 10 lines of each FILE to standard output.  With more than one FILE, precede each with a header

giving the file name.  With no FILE, or when FILE is -, read standard input.

Example:

head -3 test.file.

print the first 3 line of test.file

head test.file   default 10 line

in contrast

tail -- tail - output the last part of files

Ways to use is same as head

Question: print 20~30 line of file

head -30 test.txt|tail -11

or

tail -81 test.txt|head -11

-f : listen a file tail

Open two terminal, one to write to test.txt

for example:

for n in `seq 1000`; do echo $n >> /tmp/test.txt;sleep 1; done

the other to use tail to listen test.txt

for example: tail -f /tmp/test.txt

This command is used to listen log file of web ,you can view some information or exception from the tail of files

-F the same as -f, but if the file is deleted, it will try too.

The common Linux Commands

“|” means pipe

rmdir

rmdir --remove empty directory

if want more, reference man rmdir.

seq

seq --print a sequence of numbers

seq 1 3

The common Linux Commands

The common Linux Commands

The common Linux Commands

use “\n” as the separator. you also can use ‘-s’ to change it

The common Linux Commands

The common Linux Commands

vi/vim

they are the notepad of linux, if want more, reference book.

find

This is a vital command, we explain it by examples.

1、find by type and name

find --search for files in a directories

find / -type f -name "att.txt"

/:the directory you think the file searched in

-type: the file’s type

f:regular file

d:directory

...

-name :the file name you want to search

-maxdepth +number choose how depth the directory you would search

-pruen: True,if the file is a directory ,do not descend into it. If -depth is given ,not effective

The common Linux Commands

! :not

The common Linux Commands

The common Linux Commands

-o || -or:OR

The common Linux Commands

-a or -and :and

The common Linux Commands

you have fond some files, but you want to view or execute them?

how do to? Following

2、find and execute

find / -type f -name "att.txt" -exec ls -l {} \;

you could comprehension as follow:

-exec  COMMAND \

“;” is the bash

The common Linux Commands

But above command also can be replaced by “xargs”, please reference “xargs”

3、find by time

find / -type f -mtime -4

-4:the last 4 days

4 :the fourth day

+4 the fourth day ago

xagrs

xargs --built and execute command lines from standard input

some command may not support pipe,but we can use xargs to standard input.we use example to explain the command:

The common Linux Commands

find / -type f -name "att.txt"|xargs cat

use xargs to cat file

The common Linux Commands

grep/egrep

grep --print lines matching a pattern

args

-a --text

process a binary file as if it were text this is equivalent to the --binary-files=text option

-c --calculate the matching pattern counts.

-i --ignore-case

ignore case distinctions in both PATTERN and input files

-E : for example: grep -E “A|B|C” means to show A or B C

-n, --line-number

Prefix each line of output with the 1-based line number within its  input  file.   (-n  is  specified  by

POSIX.)

-v --invert-match

Invert the sense of matching, to select non-matching lines.  (-v is specified by POSIX.)

-A means after N, except for current line we needs ,it will show after N lines

-B means before N expect for current lines we need, it will show before N lines.

for example, if want to list current and its after 3 lines, you can use:

cat test.txt |grep -A 3 30

The common Linux Commands

similarly,

cat test.txt |grep -B 3 30

The common Linux Commands

--color=auto the characters which is PATTERN will be show by color, for example

dmesg | grep -n --color=auto 'eth0'

The common Linux Commands

the result is colorful!

so we can use alias to use it forever

alias grep = ‘grep --color=auto’

add it in your ~/.bashrc

sed

sed -- sed - stream editor for filtering and transforming text

we will examples to use this command

-n:use silent mode, only deal with date will be show screen

-i:means insert

Examples:

1、search 20-30 line a file

The common Linux Commands

2、search all file named att.txt and replace their content “oldboyWindows” to ”oldboyLinux” how to do ?

Firstly, find those files

find / -type f -name att.txt

The common Linux Commands

Secondly, change them in screen,but source files don’t update

find / -type f -name att.txt|xargs sed #oldboyWindows#oldboyLinux#g

sed s#P1#P2#g

P1:the content if source files

P2:the content you want to replace

The common Linux Commands

Thirdly: replace in source files, we only need add “-i” after sed, successful!

The common Linux Commands

/^S/:begin with S

The common Linux Commands

/\/$/:/$ is the end of /,because of //,nend to uer \ to change it

The common Linux Commands

what to do to use ‘sed’ to get you ip address;

use the regex to match, \(.*\) is the content we need,we can use

“\1” to get it at the behind of the second “#”.if you use more one ”\(\)”,you can user “\1” to the get first one, use “\2” to get the second. if you get nothing, express you regex is not match the character. Be careful of “-n” and ‘p’

The common Linux Commands

if you want to insert some content to some files, you can use find and sed

sed -i '1 i http://oldboy.blog.51cto.com/2561410/'

-i insert ‘1(line number) i(insert) http://oldboy.blog.51cto.com/2561410/  (the content you want to insert)’

some hacker may use it to attract you web

The common Linux Commands

you can use following ways to solve it.

1、 delete it(recommend because it will not anything including blank line)

sed -i ‘/the content you want delete/d(delete)’

The common Linux Commands

2、 replace it(don’t recommend ,because if will keep blank line)

find /tmp/ -type f|xargs sed -i ‘s#the content you want to replace#(keep blank)#g’

awk

 

awk -- pattern scanning and processing language

-F --field-separator FS

Use FS for the input field separator and if want use more one, user’[]’

example:

The common Linux Commands

for example:

1、search 20-30 line a file

awk '{if(NR>19 && NR<31) print $0}' test.txt

NR meas line numbers $0 meas all characters

The common Linux Commands

/^d/: begin with d

$0:all characters

The common Linux Commands

/\/$/:/$ is the end of /,because of //,nend to uer \ to change it

The common Linux Commands

if want to use more separator, you can use “-F”, for example:

The common Linux Commands

Above we use “ ” and “,” two separators, so we can get result we want.

but if the characters have one more “ ” or “,”, what we to do it. We can use “+” end the ‘]’,it express that if has many separators, we will see it as one.

The common Linux Commands

 

histioy

view your history command

history -c :clean all history command

histoty -d +number :delete the number of the history command

!+numer: execute corresponding command

!!: execute the latest command

!+”CHARACTER”: exrcute latest start with “CHARACTER”

The common Linux Commands

 

yum series

yum install pagename (-y) :install package name not need interactive

-y: allow all operate

yum groupinstall “Devolopment Tools” : install page groups, and pagegroup name must use “”

yum grouplist : view how many package your system has installed and available

The common Linux Commands

yum update or yum upgrade: update you system to the newest version

SELinux

SELinux has three status :

1、 enforce(default) must  to do some operation

2、 permissive  permit to do some operation but give warning

3、 disabled : don’t manage operation

But we don’t use it in server, so we will close it.

update the /etc/selinux/config can change its setting,but this operation need to reboot

The common Linux Commands

getenforce :view current SELinux status

setenforce set the status of SELinux and not neeed reboot

The common Linux Commands

In this situation: Your server is running ,but you can’t reboot it and you want
to close SELiux, how to do it?

1、 update
the /etc/seliunx/config SELINUX=disabled

2、 enforence
0 :change current SELinux status to permissive

So when the next
time your system reboot, your SELinux will change to disabled

This is perfect
ways!

runlevel & init

runlevel:view
you system run level

init +number :
switch you system level

If your want
more, reference Homework: Linux seven pattern of start

chkconfig

   chkconfig:update and queries runlevel  information for system service

chkconfig --list:list all system levels
service

chkconfig --del  +name  delete the system
service

chkconfig --add +name add service on system

chkconfig --level RUN_LEVEN SERVICE_NAME
ON/OFF :set service on    RUN_LEVEL that
you set

chkconfig SERVICE_NAME
ON/OFF :set SERVICE_NAME ON/OFF on all run_level except for 0 and 6;

You also can
User setup--system-servide or User the command “ntsysv” to open system_service
windows

reload
or restart

SSH SERVICE:if
you update the /etc/ssh/sshd_config, and want it available, you can user this
command to reload the file “/etc/init.d/sshd reload”.And use this command “/etc/init.d/sshd
restart” to restart sshd service

Open/Close the
firewall:

/etc/init.d/iptables stop

/etc/init.d/iptables
stop

netstat & lsof

netstat:Print
network connections, routing tables, interface statistics, masquerade
connections, multicast memberships

-l
--listen

-n
--numeric

-t --tcp

-u --udp

-p --program

So we always to use the five params together

The common Linux Commands

-a -all

We also user -an together

The common Linux Commands

losf --list open
file

-i: This
option selects the listing of files any of whose Internet address matches the
address specified in              i.   If  no
address is specified, this option selects the listing of all Internet and x.25
(HP-UX) net-

work files.

we also use the command “lsof -i:52113” to
view the port:52113 status

The common Linux Commands

which

which:
show the full path of (shell) commands

for
example:

The common Linux Commands

PATH

we
use the command or shell ,but what does the system to search the command and
execute it. This is PATH, is a environmental parameter

The common Linux Commands

you
command directory in PATH, you can use it in Terminal or shell.

you can use “PATH=$PATH:/root/oldboy” to add
your path,but is temporary ,if you want to save it forever, to add it in
/etc/profile. and,

if
you want user the command on you own, you can add it at ~/.bashrc or
/home/.bash_profile

il8n

if
you want to change you character coding ,you change it in /etc/sysconfig/i18n

The common Linux Commands

you
need to use the command  “souce /etc/sysconfig/i18n”
,it will change in you system now,or it will change an next reboot

you
also can user LANG=CH to change it temporary.

you
can user “locale” to view the character coding specific information.

The common Linux Commands

chattr
&& lsattr

 

chattr
+i +filename can give a file a limits that don’t do any operate to it

lsattr
+filename view the special limits about a file

whomi
&& w

whoami:
print effective userid

The common Linux Commands

w
- Show who is logged on and what are they doing

The common Linux Commands

tree

tree: list contents of directories in a tree-like
format

-L:--level
+number show the depth of directories

-d: list
directories only

examples:

The common Linux Commands

The common Linux Commands

file

file:determin
file type

1、 view
file type

file
+filenamePath

The common Linux Commands

dumpe2fs

dumpe2fs:dump
ext2/ext3/ext4 filesystem information

for
example:

The common Linux Commands

tar

-c --create

create
a new archive

-x --extract,--get

extract files from a archive

-t
--list

list the contents of an archive

-v
--verbose

verbosely list files processed

-f
--file=ARCHIVE

user archive file or device file

-C
--directory=DIR

change directory to DIR

-z --gzip

filter the archive through gzip.

-j
--bgzip2

filter the archive through bgzip2

so we
also use those commands

zip:

tar -zcvf ARCHIVE.tar.gz SOURCE

create archive from files foo and bar
through zip

tar -zxvf ARCHIVE.tar.bz (-C DIRECTORY)

extract all files from archive.tar
through zip

tar -ztvf ARCHIVE.tar

list all files in ARCHIVE.tar verbosely
through zip

bgzip2

tar -jcvf ARCHIVE.tar.gz SOURCE

create an archive from files foo and bar
through bgzip2

tar -jxvf ARCHIVE.tar (-C DIRECTORY)

extract all files from archive.tar
through bgzip2

tar -ztvf ARCHIVE.tar

list all files in ARCHIVE.tar verbosely
through bgzip2

examples:

The common Linux Commands

The common Linux Commands

The common Linux Commands

cut

cut
remove sections from each line of files, default “ ”

-c --character=LIST

select only these characters

-d
--delimiter=DELIM

use DELIM instead of TAB for field
delimiter

-f
--field

select only these field; also print any
line that contains no delimiter character, unless the -s option is specified

-s,
--only-delimited

do not print lines not containing
delimiters

for
example:

The common Linux Commands

what
to do get your ip address by using “cut”

The common Linux Commands

wc

wc
print newline, word, and byte counts for each files

-L --max-line-length

print the length of  the longest line

The common Linux Commands

ln

ln
make links between files

-s --symbolic

make symbolic instead of hard links

hard link:

ln SOURCE_FILE HARD_FILE_LINK

symbolic link

ln -s
SOURCE_FILE SYMBOLIC_LINK_FILE

mkfs

mkfs:
build a Linux file system

for example:

mkfs.ext4 /dev/sdb

tr

tr
--translate or delete characters

for example:

The common Linux Commands

date

date
--print or set system date or time

-s --set=STRING

set time described by STRING

%F --full-date; same as %Y-%m-%d

%Y year

%y last two digits of year

%m month (01..12)

%d day of month

%H hour(00..23)

%M minute(00..59)

%S second(00..60)

%w day of week(0..6) 0 is Sunday

%u day of week(1..7) 1 is Monday

%T time same as %H:%M:%S

special
characters

.:
current directory

..
: parent directory

-   
cd - : back the directory you open latest

The common Linux Commands

>> && > && <<
&& <

standard
(stdin) input: code: 0 <<(0) or
<(0)

standard
output (stdout) code 1 (1)>> or (1)>

standard error (stderr) code 2 2>> or
2>

2>&1:let
let stderr redirect to stdout

for
example

`command`:
let the command to execute

~:cd
~  redirect home directory

{}:

The common Linux Commands

;
the separator about many commands

/:root
or path deperator

^:
startwith character

$:
endwith character

^$:blank
line

Hotkeys:

Tab:
complement command

Ctrl+C
stop current process in the front

在CRT中

Ctrl+Shift+C
copy

Ctrl+Shift+V
paste

Ctrl+d:
exit or quit

Ctrl+a:
move to the first of current line

Ctrl+e:
move to the end of current line

Ctrl+u
:delete current line

Cthr+r search command in your history

Ctrl+l
clean screen