zoukankan      html  css  js  c++  java
  • C语言基础 (1) 操作系统介绍,linux入门

    第一天

    一、操作系统

    1.1.1操作系统的目标

    ·方便:使计算机系统易于使用

    ·有效:以更有效的方式使用计算机系统资源

    ·扩展:方便用户有效开发、测试和引进新功能

    1.1.2 操作系统的地位

     

    操作系统——向下封装硬件

    系统编程:在某个系统上面编程,系统调用,调用操作系统提供的接口

    Unix => Linux

     

    2.文件系统

    2.1目录和路径

    Windows

    Unix/Linux /

     

    (记住 /   /bin 和 /home)

    (记住lib C语言使用时候需要的库函数)

    usr == Unix System Resource4

    / 根目录

    /home 家目录

    /bin 放工具

    /lib 放库文件

    /usr/include 头文件

    2.3 一切皆文件

    2.权限问题:

    ls -l stdio.h

    开始的-代表文件,-后面有9个字符,三个三个为一组,分类

    第一组:文件所有者

    第二组:用户组(相当于qq群..)

    第三组:其他用户

    root root 代表root用户组的文件所有者root

    -没权限

    r读

    w写

    x可执行

    第一步:whoami 查看我是谁

    第二步:cat /etc/group 查看到root组的群号是0

    第三步:cat/etc/passwd

    解读:

    我的蜜罐子你叫做呼号

    改一下权限(这个以后会学)

    然后ls -l,gedit stdio.h 就会发现编辑器上没有只读的限制了。

    3.命令:

    ls –help

    ls -a  显示所有文件(包括隐藏文件)

    4.命令使用方式和技巧

    (其实好像是manual的简写)

    命令printf aaa

    有一个函数也叫printf

    如果直接输入 man ls

    那么其实查询的是命令

    敲一下 man man 看一下手册说明

    原来输入man printf的时候查询的是第一章节的内容,

    所以以后查询的时候指定第三个章节好了,

    自动补全: 按tab让它自动补全

    05:常用命令:ls

    1.ls -l -a -h (-human更人性化)

    ls -lah

    2.ll (是ls -l-a的一个别名)

    3.

    (.. 和 . 算两个文件夹)

    4.ls stdio.h 看看有没有这个文件,如果有stdio.h就会显示出这个名字

      ls *.c

      ls te* 找te开头的

      ls ?.c 只匹配一个字符的

      ls [1-9].?

    5.touch 如果文件不存在,则创建文件

            如果文件存在,文件修改时间就会变成当前时间

       touch *.c 把所有.c文件改成当前时间

       touch *.c (这时创建了一个文件,不是通配符,而是转义字符)

    6.常用命令:重定向、more、管道

    1.ls > test.txt

    把ls显示到屏幕的东西写到test.txt中(覆盖)

    2.cat /usr/include/stdio.h

    3.more /usr/include/stdio.h(分屏显示)

    4.管道: cat stdio.h | more

    5.ls | grep std 输入的是ls 输出的要grep

    7.常用命令:clear、cd、pwd

    1.clear 或者 ctrl+l

    2.cd .. . 

      cd什么都不加或者加~ 去到用户主目录

      cd – 回到上一次进入的目录

    8.常用目录:mkdir、rmdir、rm

    1.mkdir创建目录 参数-p可以递归创建目录库

    mkdir ./a/b/c -p

    2.rmdir 只能删除空的文件夹

    mkdir a 加a这个参数

    3.rm a -r 删除掉这个文件夹

      -f 不进行提示

    删除所有文件:rm * -rf 用这个时候小心

    因为可能会出现这种情况:

    rm * .png -rf (中间多了一个空格结果导致所有文件和.png都被删除)

    9.常用命令:grep

    1. 重定向:

    touch 1.txt

    touch 2.txt

    cat 1.txt 2.txt > abc.txt

    2.检索:

    按行的搜索Mike并标记: grep a.txt Mike -n

    3.grep a.txt -i(忽略大小写) -n(显示行数) -v(取反:即匹配到的都不显示,显示相反的)

     grep a.txt -niv

     grep a test.txt -ni

     grep “a” test.txt -ni

     grep ‘a’ text/txt -ni

     看起来好像是一样的,加不加双引号都行

     但是有一个问题:如果文本中有 

    这样的,

     

    grep 1 2 3 test.txt -ni

    查找1或者2或者3

    这样就不好了,所以最好加上双引号

     

    grep ‘1 2 3’ test.txt -ni

    grep ^a test.txt -ni

    grep a$ test.txt -ni

    里面还可以加各种正则表达式

    10.常用命令:findcpmvfile

     

    1.ls | grep abc

     

     

    2.find ./ -name *.c

     

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    find ./ -size +12k -size -5M

    3.cp 01.c 02.c

    +++++ cp abc/ cba -r (递归的拷贝)

     

    要是不加-v就会感觉卡住没提示,所以最号加-v

    4.mv mike.c ../

    5,file查看文件类型

    hello.exe word.txt

    10.常用命令:tar、gzip

    1.磁带归档(打包)

    tar -cvf  (c代表create v代表进度 f代表file) f必须放在最后

    tar -cvf aaaa.tar 1.txt 2.txt /cmd /floder

    或者

    tar -cvf aaaa.tar *

    2.解包:

    tar -xvf aaaa.tar (什么都不写 默认是在当前路径)

    l  tar只负责打包、解包,不进行压缩

    打包: tar -cvf xxx.tar 需要打包的文件

    解包: tar -xvf xxx.tar (不指定路径,默认在当前路径解包)

       解包指定路径: tart -xvf xxx.tar -C xxxxxx(路劲)

    (很特别,如果想指定某个目录,必须加-C)

    3.文件压缩

     如何查看某个目录大小:

    du ./目录 -h

    gzip 压缩tar包

    gzip  xxx.tar 自动在当前路径生成xxx.tar.gz

    gzip -d xxx.tar.gza

    压缩打包:tar -zvcf xxx.tar.gz 所需文件

    解压解包:tar -xzvf xxx.tar.gz

    将当前目录的都所有文件压缩打包:tar -cvzf xxx.tar.gz *

    压缩打包:tar -cjvf xxx.tar.bz2 所需文件

    解压打包:tar -xjvf xxx.tar.bz2 -C 指定路径

    zip -r test * 把所有的压缩叫test(必须要加-r)

    unzip -d ./ test.zip

    (为了兼容windows的)

    du ./cmd/ -h

    常用命令which

    which ls

    which gc

    which sudo

    这样的,

     

    grep 1 2 3 test.txt -ni

    查找1或者2或者3

    这样就不好了,所以最好加上双引号

     

    grep ‘1 2 3’ test.txt -ni

    grep ^a test.txt -ni

    grep a$ test.txt -ni

    里面还可以加各种正则表达式

  • 相关阅读:
    url中的jsessionid解释
    电脑双网卡配置
    jedis api使用
    RedisTemplate访问Redis数据结构
    动态jdk启动项目
    导入导出Excel工具类ExcelUtil
    git超详细教程
    Linux配置SSH免用户免密码登陆
    hdfs shell的基本操作以及hdfsWeb查看文件
    清除redis的特定前缀的key
  • 原文地址:https://www.cnblogs.com/eret9616/p/9709770.html
Copyright © 2011-2022 走看看