您的位置:首页 > 运维架构 > Linux

linux 学习笔记1

2016-05-06 17:15 721 查看
C语言按字节读取

fgetc

C语言按行读取

fgets

linux读取文件内容

more 文件名

cat是一下全部读取

ps -ef | grep name  根据名字显示进程

C语言字符串转成数字(在stdlib.h)

int atoi(const char *c)

文件权限:

读cat text.c

写vi text.c

10位权限字符(文件权限)

- 第一位是指是什么类型,是文件-,还是文件夹d

后9位是权限,前3个是对文件所有者的权限

中间3个是该用户组对文件的权限

后3个,代表其它用户对该文件的权限

r:读(read)  数字4

w:写(write) 数组2

x:执行(execute) 数字1

加起来是777     rwx

一般来讲是755

which chmod

chmod是个工具

给自己增加执行权限(u代表自己)

chmod u+x aa

给组用户加上x(g代表用户组)

chmod g+x aa

给其它用户加上x(o代表其它用户)

chmod o+x aa

减少权限就是-

chmod o-x aa

chmod -R 777 文件夹名

======================================

shell脚本

if [ aaa ====  ddddd ]
then
xxoo1

else
xxoo2

fi

文件判断:

-d 目录

-s 文件长度大于0,非空

-f 正规文件

-L 符号连接

-u 文件有suid位设置

-r 可读

-x 执行

转义换行

echo -e "abc\n111"

-e这个参数是转义

把输出加入文件

echo "asdad" > error.log

把输出追加到文件

echo "cccccc" > error.log

定义变量(定义变量的时候不能有空格,当想取shell变量的值时,需要在变量名前加上$字符,当所赋的值中间含有空格时,要加上引号)

ERR_LOGFILE='asdasdad'

输出变量

$ERR_LOGFILE

输出时间:

date +'%Y-%m-%d %H:%M:%S'

sed读取第一行内容

sed -n '1p' index.html

CURL提交(-d是带参数)

curl -d "password=123" http://www.jtthink.com/test/update.php
取该文件的第二行(-s是去掉提示)

curl http://www.jtthink.com/test/conf.txt -s | sed -n '2p'`

数字判断的一些命令

-gt是大于的意思 large than

-lt是小于 less than

-eq是等于 euqal

-ne是不等于 not equal

-ge是大于等于 large equal

-le是小于等于 less equal

#是SHELL脚本的注释

==================================================================

新建用户

useradd mengfanxin

修改密码

passwd 用户名

删除用户(-r是连用户的home目录一起删除)

userdel -r mengfanxin

查看有哪些用户组

cat /etc/group

cat /etc/shadow

cat /etc/passwd

修改用户权限及属性

usrmod

usermod -c 'hello' meng//加备注

usermod -s /sbin/nologin meng //默认登录不到操作系统

-c<备注> 修改备注

-d<登录目录> 修改用户登入时的目录

-e<有效期限> 修改账号的有效期限

-f<缓冲天数> 修改在密码过期后多少天即关闭该账号

-g<群组> 修改用户所属的群组

-G<群组> 修改用户所属的附加群组

-l<账号名称> 修改用户账号名称

-L 锁定用户密码,使密码无效

-s<shell> 修改用户登入后所使用的shell

-u<uid> 修改用户ID

-U 解除密码锁定

==================================================================

lesson 17

grep "meng" /etc/passwd

ls | grep "mengfanxin"

grep "meng" /etc/*

在shadow查找meng

grep "meng" /etc/shadow

列出包含she的文件夹和文件

ls | grep she

正则匹配A开头的

grep '^a' /etc/passwd

cat /etc/passwd | grep '^shenyi' -c

用--stdin来把123输入到passwd命令里

echo "123" | passwd god --stdin

vim下删除整行

ctrl+u

强大的标记

$#传递脚本的参数个数

$$脚本运行的当前进程ID号

$! 后台运行的最后一个进程的进程ID号

$@与$#相同,但是使用时加引号,并在引导中返回每个参数

$?显示最后命令的退出状态。0表示没有错误,其它任何值表明有错误(或执行不成功)

shell里写:

useradd $USER_NAME

if [ $? -eq 0 ] //这里这句就是指添加用户指令执行成功(判断上一条指定是否执行成功)

  then

    echo "succerss"

  else

    echo "faied"

fi

==============================================================

lesson 18 :

输出到文件

echo "aa" >a.txt

追加到文件

echo "bb" >b.txt

屏蔽错误(主要是用这个2,还有0和1,2好像是屏蔽错误提示)

echo "bb" 2>/dev/null

切换到mengfanxin用户

su -mengfanxin

如果这个文件不存在,则切换到god用户创建,再切换回来su -god -s 是执行SHELL

if [ ! -d /home/god/bin ]

  su -god -c "mkdir bin"

  echo "bin is created"

fi

执行某些操作,最好是切换到其它用户搞,直接用root开搞,安全性太差了。

列出进程

ps -ef

-A 列出所有进程

-u 查看制定用户的进程(ps -u root)

一般用 ps -ef 或者 ps -ef | grep xxx

脚本休眠

echo "start"

sleep 5

echo "end"

这个5,是停止5秒

C语言的睡眠:

#include <stdio.h>

int main()

{

  printf("start\n");

  sleep(5);

  printf("end\n");

}

编译gcc me.c -o me

a141
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: