Linux Commands intro1
$((expression))
echo $(2+2) :wrong
echo $((2+2)) : right
echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back
echo start{1..5}end
start1end start2end start3end start4end start5end
echo start{A..Z}end
$(cmd)
命令替换 一个命令的输出作为另一个命令的参数
uses back quotesinstead of the dollar sign and parentheses:
ls -l `which cp` 等价于
ls –l $(which cp)
It is also common to use escaping toeliminate the special meaning of a
character in a filename. For example, it is possible to use characters in filenames that normally have special meaning to the shell. These would include
$, !, &, (a space), and others. To include a special character in a filename,
you can use \ to escape.
file filename #determine the file type
ls -lt #show files sort by time
less filename #allow you scroll down and up to see the file content
ln -s target linkname #used to create a soft link for one file or folder
wc—Print newline, word, and byte counts for each file.
tee—Read from standard input and write to standard output and files.
执行一个shell的时候,可以在屏幕上打出日志,同时又保存在文件中。
sh mysh.sh 2>&1 | tee mysh.log
sh mysh.sh >mylog.log 2>&1
1 : standard output
2: standard error output
if you want to throw the error away, you can output to
sh mysh.sh 2> /dev/null
> output content to a new file
>> append data to file
< read data from file
1.过滤今天产生的文件?(日志文件)
find / –type f –mtime –1
find –name ‘pattern’ –exec rm {} \;
find / –name test | xargs rm –rf;
2.根据年月快速创建一些文件夹?
mkdir {2009..2011}-0{1..9} {2009..2011}-{10..12}
[me@linuxbox Pics]$ ls
2009-01 2009-07 2010-01 2010-07 2011-01 2011-07
2009-02 2009-08 2010-02 2010-08 2011-02 2011-08
2009-03 2009-09 2010-03 2010-09 2011-03 2011-09
2009-04 2009-10 2010-04 2010-10 2011-04 2011-10
2009-05 2009-11 2010-05 2010-11 2011-05 2011-11
2009-06 2009-12 2010-06 2010-12 2011-06 2011-12
jobs—List active jobs.
bg—Place a job in the background.
fg—Place a job in the foreground.
if [ -f file ] 如果文件存在
if [ -d ... ] 如果目录存在
if [ -s file ] 如果文件存在且非空
if [ -r file ] 如果文件存在且可读
if [ -w file ] 如果文件存在且可写
if [ -x file ] 如果文件存在且可执行
if [ -n $string ] 如果string 非空(非0),返回0(true)
if [ -z $string ] 如果string 为空
command1 && command2
&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。
command1 || command2
||则与&&相反。如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);或者换句话说,“如果这个命令执行失败了||那么就执行这个命令。
dirname :用于取路径
basename:用于取文件名