Linux 学习笔记 1


ls -l //display prop rwx etc.

ls *.doc

ls musi*.doc

exit


git clone git@192.168.1.10:msm8625.git

wine ~ Downloads/SourceInsight3/Insight3.exe

wine ~ software/Source insight 3/Insight3.exe

cd ..

chmod 700 jiangzhaokong

git pull origin master

git help

cat /proc/version


//find key in all

grep -r -l "com.viroyal.gps.service.BACK" ./vendor/



tee


下面我们来看一个例子,我们使用w h o命令,结果输出到屏幕上,同时保存在w h o . o u t文

件中:

$who |tee who.out

cat who.out



sudo apt-get install meld

sudo apt-get install gedit-plugins

sudo chmod 777 install.sh

git checkout packages/apps/DeskClock

git status

git pull


new shell.command method


chmod 777 shell.sh

./shell.sh


//read

read name -- enter

jiangzhaokong

echo $name


name = jiangzhaokong


//cat

cat myfile


read myfile content


//set


display all shell variable


//landing system


type name and password,the system will check you is a vaild user.

so need to inquery /etc/password


//常用的命令

1、

basename

从路径中分离出文件名


$basename /home/dave/myscript

myscript

2、cat


cat myfile1 myfile2 >>hold_file


整合两个文件到 hold_file


3、compress myfile

4、

cp

格式:

cp options file1 file2

选项:

- i:在覆盖文件之前提示用户,由用户确认。

- p:保留权限模式和更改时间。

- r:拷贝相应的目录及其子目录。

要将文件m y f i l e拷贝到m y f i l e 1 . b a k,使用:

$ cp myfile1 myfile1.bak


要将/ l o g s目录下的所有文件及子目录拷贝到/ h o l d / l o g s目录中,使用:

$cp -r /logs /hold/logs

5、

du option directory

- a:显示每个文件的大小,不仅是整个目录所占用的空间。

- s:只显示总计。


6、

格式:

file filename

该命令用来确定文件的类型。


7、

格式:

head -number files

h e a d命令可以显示相应文件的前1 0行。如果希望指定显示的行数,可以使用- n u m b e r选项。

例如:

$ head -1 myfile

只显示文件的第一行,而

$ head -30 logfile |more

则显示l o g f i l e文件的前3 0行。

8、l o g n a m e

该命令可以显示当前所使用的登录用户名:

9、mkdir options directory

格式:

10、

p w d



显示当前的工作目录,可以用


11、去除重复出现的字符

$tr -s "[a-z]" < example.txt

使用cat 命令,再将结果管道输出至tr

$cat example.txt | tr -s "[a-z]"

删除空行


$tr -s[\012] < example.txt

$tr -s[" "] < example.txt


大小写转换


$echo “May Day,May Day,Going Down..” | tr "[a-z]" "[A-Z]"


MAY DAY,MAY DAY,GOING DOWN..


cat myfile | tr "[A-Z]" "[a-z]" > lower_myfile


$ Mydata = "date"

$ echo $Mydata


data


脚本不是复杂的程序,它是按行解释的。脚本第一行总是以# ! / b i n / s h开始,这段脚本通知

s h e l l使用系统上的Bourne shell解释器

#! /bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,

其后面根的是此解释此脚本的shell的路径。

$bash $表示系统提示符,$ 表示此用户为普通用户,超级用户的提示符是#,bash是shell的一种,

是linux下最常用的一种shell,$bash的意思是执行一个子shell,此子shell为bash。


$rm myfile //delete myfile

$rm -r /var/temp //delete folder



exit n


exit 0 退出成功,无错误

exit 1 退出失败,某处有错误


控制流:

i f、

t h e n、

e l s e

语句提供条件测试


使用i f语句时,必须将t h e n部分放在新行,否则会产生错误。如果要不分行,必须使用命

令分隔符。本书其余部分将采取这种形式。现在简单i f语句变为:

if 条件;t h e n

命令

f i


$pg iftest


#!/bin/sh

#iftest

#this is a comment line,all comment lines start with a #

if ["10" -lt "12"]

then

#yes 10 is less than 12

echo "yes,10 is less 12"

fi


for 使用方法:

for var in ....; do

....

done

下面的示例会把A B C分别打印到屏幕上:


#!/bin/bash


for var in A B C ; do

echo "var is $var"

done



-z 的用法

$1在shell中称为“位置参数”,表示传入的第1个参数(第1个入参)。

用在shell脚本主体中,表示shell脚本的第1个入参。

用在shell脚本函数里,表示函数的第1个入参。

test -z $1 是一个判断表达式,用于判断$1的值是否为空字符串。

若为空,则结果为true;否则为false。


fi 的用法

fi为if语句的结束



basename $0` 与$0区别

`basename $0`值显示当前脚本或命令的名字

$0显示会包括当前脚本或命令的路径

`basename $1`和$1相同



awk工作流程是这样的:读入有' '换行符分割的一条记录,

然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。

默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推



awk -F = '{print $2}' = 是分隔符


通常可以根据返回值来判断。

不过还有一点就是要注意,就是make install要管理员权限才行。


make clean && make && make install


&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。


shell编程中总会遇到这样的需求:

第一个shell写文件,要执行的时间很长,第二个shell依赖前面生成的文件,那么,第二个shell就要等到文件写完再执行才有效,那么就有两种方式实现:

1、判断文件写结束 后 执行shell2

2、判断shell1执行完毕 后 执行shell2

方案1,一直没找到怎么做,万幸的是,找到了方案2:


Java代码 收藏代码

shell1 && shell2 && shell3


这样,后面的shell就会等待前面的shell执行完成后再执行。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章