关闭

linux学习笔记---2

标签: c配置
186人阅读 评论(0) 收藏 举报
分类:

上午:

学会c的标准
眼里有编译器
心中有内存
脑中有逻辑


alias       起别名
unalias     取消别名

vim ~/.bashrc  中可以配置别名
.           重新运行一个文件
    例如:. ~/.bashrc     重新运行文件.bashrc

vim的使用:

在命令模式下按nyy用于复制当前行及其下一行n-1行
将光标移动到目标位置 p(paste)
如果取消上次的操作u(undo)
$带你各位到当前行末尾
0 地位到当期行的行首
J 将下一行合并到当前行的行尾

删除命令:

x 删除光标所在的位置的字符
dw 删除单词
dd 删除当期行
d} 删除当期行到空白行
D 删除光标所在的位置到当前行的行尾
dG 删除从当前位置开始直到文件结束

跳转:
H 跳到当前屏幕的最上行
L 跳到当前屏幕的最下行
M 跳到当前屏幕的中间行
ctrl+n 自动提示功能、
shift +{ 跳到前一个空白行
shift +} 跳到下一个空白行

替换命令:

:2,4s/main/int/ 替换2-4行的main位int 

:%s/main/int/   替换全文的main为int   

:%s/is/IS/g     如果一行中有多个is都要被替换,则后面加个g

查找:

/int   查找int
(被找到的int则高亮显示,要恢复,则删除/root/.viminfo)
:sp
:vsp
    (ctrl+w w 光标在两个文件跳转)

可视化:
v
d 删除
y 复制

date 显示日期

 date +%Y%m%d%H%M%S     显示日期

touch login`命令`.log    
例如:touch login`date +%Y%m%d%H%M%S`.log

` `  命令替换位执行出来的命令

下午:

cal 显示日历

cal -3  显示上个和下个月份

创建用户:

useradd 创建用户

userdel 删除用户

useradd 
        -g      创建用户组到那个组里面
        -G      添加附加组(可以直接写)

groupadd        添加组

groudel         删除组

useradd 用户名
groupadd 组名

在用户中添加一个组:
useradd 用户名
useradd -g 组名 用户名

useradd -g 组名 -G 附加组 用户名(在用户中添加组和附加组)


whoami

su - 用户名        切换用户

who am i

exit        退回刚才的用户

//添加的用户其实在/etc/passwd

mahao:x:501:501::/home/mahao:/bin/bash

用户名:密码:用户ID:用户组ID:简要描述:家目录:shell类型

// /etc/shadow

mahao:63RuKL2kn$TWSWtHeOuIPBvzayoESH0bnedPXQ3JRhWtF41anibpXBOLqXzeI7zzU9QYNCosoGhVS3bRY1NA
JEkM3nbcG0k.:16623:0:99999:7:::

用户名:加密过的密码:天数::天数:::

// /etc/group

// /etc/gshadow


关机命令:
shutdown -h now 广播,调用init 0
init 0 关闭所有的服务,调用halt
halt -p 关闭电源
重启
shutdown -r now
init 6
reboot

1:tar       打包,解包

    tar -cvf ----------打包为tar包
        例如:tar -cvf 要打包的名字 打包文件

    tar -xvf ----------解包

2:压缩

        -z  压缩为gzip格式
        -j  压缩为bzip2格式

在目录下查找文件:

find 路径 -name "文件名"
        -name   按照名字查询
        -user   按照用户查找
        -type   按照类型查找
            d
            b
            c
            l
            p
            s
            f

        -a      ‘或’的关系,(-user "bajie" -a -name *.c)

find 路径 -name "文件名" -exec 命令 {} \;
    (对找到的文件执行-exec后面的命令)
    例如:find . -name "*.jpg" -exec ls -l {} \;
  • -mtime 修改文件的时间
    -atime 访问文件的时间
    -ctime 文件状态被改变的时间
    +n n天前
    -n n天内
    例如:find . -mtime +1
    (可以用在脚本中让他自动删除以前的日志)

grep “main” *.c

管道:|

    例如:find . -name "*.c" | xargs grep "main"
          find /usr/include/ -name "*.h" | xargs grep "strtok"

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令
当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题

    find ~ -name*.log-print0 | xargs -0 rm -f
查找所有的jpg 文件,并且压缩它
    find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
拷贝所有的图片文件到一个外部的硬盘驱动 
ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:19052次
    • 积分:608
    • 等级:
    • 排名:千里之外
    • 原创:40篇
    • 转载:8篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论