Linux基础知识及常用命令:

1、Linux文件组织形式
Linux基础知识及常用命令:_第1张图片

2、Linux文件的分类
Linux目录下一切皆文件:
Linux基础知识及常用命令:_第2张图片

3、文件操作命令 :

cd: 切换目录
pwd: 显示当前路径
ls: 显示当前目录下的文件
touch:创建普通文件
mkdir:创建目录文件
mkfifo:创建管道文件
rm:删除普通文件
su:切换到
root:用户
rmdir:删除空目录
rm -r:删除目录
cp:拷贝
mv:移动\重命名
chmod:修改文件权限
chown:修改文件属主
chgrp:修改文件组用户
tar:压缩文件
gizp:文件解压
grep |:过滤管道

4、文件编辑 vi/vim

  • 三种模式:命令行模式、插入行模式、末行模式

  • 命令行模式 +插入命令 ——> 插入行模式

    a:在当前光标的的下一个字符处开始插入
    i:在当前光标处开始插入
    o:在光标的下一行开始插入
    O:在光标的上一行开始插入

  • 插入模式 esc ——> 命令行模式 shift +:——> 末行模式

    w:保存
    q:退出
    wq:保存并退出
    q!:强制退出
    w filename:重命名

  • 命令行模式命令:
    光标移动定位:

    H(左) J(下) K(上) L(右)
    光标移动到行位 shift+4 即 $
    光标移动到行头 shift+6 即 ^
    光标移动到文件行末 shift+g
    光变移动到文件某行 n+shift+g
    光标移动到当前屏幕底 shift+L
    光标移动到当前屏幕中间 shift+m
    光标移动到当前屏幕头 shift+h
    向下翻页ctrl+f
    向上翻页ctrl+b
    dd删除一行
    ndd删除n行
    u每按一次撤销一次最近操作
    cc替换一行 删除一行接着可写
    C替换从光标到行末
    yy拷贝该行 nyy 拷贝n行
    p粘贴

5、编译连接 gcc g++ objdump readelf

预编译:gcc -E main.c -o main.i
编译:gcc -S main.i -o main.s
汇编:gcc -c main.s
链接:gcc main.s -o main
生成可执行文件:gcc/g++ -o main main.c
objdump -S 可执行文件/可重定位文件 查看可执行文件/可重定位文件的汇编代码
readelf -S 可执行文件/可重定位文件 查看可执行文件/可重定位文件的文件信息

6、调试 gdb 基本命令:

gcc -o main main.c -g main为man.c的debug版本
gcc -c main.c -g debug版本的中间体
gcc -o main main.o debug版本的可执行文件

  • 命令:

    l 显示函数所有的文件的源代码
    list filename 显示filename 文件的源代码
    b linenum 给linenum行添加一个断点
    b funname 给funname这个函数的第一行添加一个断点
    info b 显示断点信息
    d bpnum 删除断点
    r 运行程序
    n 执行到下一行
    c 运行到下一个断点处
    n 进入将要被调试的函数中单步执行
    c 退出函数
    p 显示命令
    q 退出调试


7、makefile文件 自动化编译文件。能够自动搜索需要的源文件,一次写好,永久使用。假如一个功能需要main.c、Insert.c、Delete.c、Find.c、Show.c五个源文件来实现,那么就可以将其写成如下的makefile文件:
    val = main.o Insert.o Delete.o Find.o Show.o
    main:$(val)
      gcc  -o   main    $(val)
    main.o:main.c
      gcc  -o  main.c
    Insert.o:Insert.c
      gcc  -o  Insert.c
    Delete.o:Delete.c
      gcc  -o  Delete.c
    Find.o:Find.c
      gcc  -o  Find.c
    Show.o:Show.c
      gcc  -o  Show.c
    clean:
      rm  *.o  main
8、库文件:对某些功能代码的集合
  • 1、静态库:Linux扩展名为.a 、Windows扩展名为.lib。在连 接过程中,将库中的内容连接合并到可执行文件 中,执行的过程中不需要静态库的支持-
  • 2、动态库:Linux扩展名为.so、Windows扩展名为.DLL。在连接的过程中,只给最终的可执行文件一个连接,可执行文件执行时才动态的加载到内存上使用。

9、用户管理命令:只有root用户才能创建、删除、修改用户信息

useradd 添加一个新用户 —–> useradd newusername
useradd -g groupname newusername 指定passwd文件中的GID
useradd -G group1,group2,…… newusername 指定group文件中哪些组 都有这个用户
useradd -d 路径 newusername 指定用户默认登录的目录
useradd -s /bin/bash newusername 指定用户默认打开的shell终端
userdel username 删除一个用户
usermode 修改用户属性
passwd username 修改用户密码

  • 新添加一个用户后必须用passwd命令给其设置密码

10、进程管理命令:

ps 查看系统上运行的进程,有三个选项 -e, -f, -a
| 管道命令,将第一个进程的输出作为第二个进程的输入
grep 过滤命令
& 将进程放到后台运行
kill pid 结束一个进程
kill -9 pid 强制结束一个进程
kill -stop pid 挂起一个进程
jobs 显示进程的任务号
fg 任务号 将后台的或挂起的进程调度到前台运行
bg 任务号 将挂起的进程调度到后台运行

11、查看命令:

ulimit:用来限制系统用户对shell资源的访问,限制 shell 启动进程所占用的资源
lsof: 列出当前系统打开的文件
top: 动态显示系统运行情况
free:专门用来查看系统内存&swap的使用情况
ipcs: 用于查看进程间通讯的技术,共享内存(-m),消息队列(-q),信号量(-s)及查看所有技术(-a)
ipcrm:移除一个消息对象。或者共享内存段,或者一个信号集,同时会将与ipc对象相关链的数据也一起移除(ipcrm -m shmid)

12、网络命令

netstat:列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及
unix 套接字,另外它还能列出处于监听状态(即等待接入请
求)的套接字
ifconfig:启用或者禁止一个网络接口,设置它的ip地址和子网掩码,
设置虚拟接口以及设置其他各种选项和参数。常常在系统引导
时运行,从配置文件获得命令行参数,也可以通过手工执行来
修改网络配置。
tcpdump:将网络中传送的数据包的“头”完全截获下来提供分析。
它支持针对网络层、协议、主机、网络或端口的过滤,并提
供and、or、not等逻辑语句来帮助你去掉无用的信息

你可能感兴趣的:(linux)