学习linux语法

对linux基本概念不熟,抄来代码也没办法修改,先学习语法基础

基础命令

ctrl+l/clear清空屏幕 ctrl+a光标跳转到行首 ctrl+e光标跳到行尾 ctrl+d删除光标后面(即覆盖)的一个字符 ctrl+u删除双标前所有字符 shift+pageup上翻页 history查看历史命令

#cat命令 查看该文件内容,适用于短文件
cat aa.txt
#more 显示部分内容,按空格或回车翻页,按q或者crtl+c退出。
#less head tail也是查看文件的特殊命令
more aa.txt
#touch 创建新文件或者修改旧文件的时间
touch aa
#命令 -i 增加执行命令提示
#cp copy aa bb将aa文件复制到bb中,bb可以不存在,若文件已经存在会将旧文件覆盖掉(同属性复制)。若bb为目录,则会复制进去
cp aa bb
#mkdir aa/bb/cc -p创建嵌套目录需要加-p
#rm -r dir 删除目录,-r表示递归操作
#mv 可以移动或者重命名 mv aa bb改名 mv aa 已有的dir
mv aa bb 
mv aa dir
#wc在默认的情况下,wc将计算指定文件的行数、字数,以及字节数。-c只显示比特数,-l只显示行数,-w只显示字数
wc yourfiles
#du -h 查看当前目录文件大小
du -h
#df -h 磁盘使用大小
#which [ls] 查找ls命令所在位置
which ls
#chmod+-=命令管理权限,+为增加后面的权限,-为减去后面权限,=为确定为后面的权限,多个操作用“,”分隔,u为所有者,g为所有组,o为其他人,a为all,-R递归修改
chmod [{ugoa}{+-=}{rwx}][文件或目录] -R
#chmod421数字更改权限,r-4,w-2,x-1,无-0。下面命令为所有者rwx,所有组rw,其他人r
chmod 764 -R
#apt-get 在线安装软件
sudo apt-get install tree
sudo apt-get remove tree
sudo apt-get updata tree
#用deb包安装
sudo dpkg -i xxx.deb
#tar压缩,可以压缩目录,-c打包,-v显示详情,-f指定文件名,-z打包同时压缩
tar -cvf xx.tar.gz Dir
#tar解压,-C可以指定目录
tar xxxx.gz -C test/
#gzip [文件]压缩当前文件生成.gz,注意不能压缩目录也不保留原文件
gzip [files]
#gunzip解压缩.gz文件
gunzip [压缩文件]
#who命令查看用户
#ps 查看进程参数 a所有进程信息 u更详细的用户进程信息,aux为没有终端的进程信息
ps au
ps aux
#grep命令 查找文件中符合条件的字符串。在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件
grep test*file
#以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件
grep -r update /etc/acpi
#管道命令“|”,即将前面命令输出作为后面的输入。下面的命令意思是在ps找到的进程中找出bash
ps aux | grep bash
#kill命令关闭进程,kill -l查找进程
kill -l
kill -某进程
#env命令查看环境变量
env 
#top查看任务管理器,无法控制
#ifconfig 查看网络信息,MAC地址即网卡/硬件编号
#$符号可以取出变量,再使用echo将其输出。echo命令作用是显示数据
env | grep PATH
echo $PATH

软件安装

  1. 下载二进制文件 先创建安装目录 wget http://xxx.zip

  2. 再解压unzip/tar

  3. 在无root情况下进入安装文件目录,配置文件 cd yourdir ./configure --prefix=/public/home/yourusername/app/yourapp

  4. 编译 make make install

  5. 导入环境变量 cd ~ vim .bashrc进入vim,键入 export PATH=<span data-formula="PATH:~/app/yourapp/bin/ 退出vim source .bashrc

环境变量

export,修改bashrc等 第一种:赋值" aria-hidden="true">yourapp=/home/···全路径/yourapp 第二种:使用alisa yourapp='/home/···全路径/yourapp' 第三种:环境变量,echo PATH:~/app/yourapp/bin/;source .bashrc

文件链接

软链接(也叫符号链接) 类似于windows系统中的快捷方式, 便于文件的管理,比如把一个复杂路径下的文件链接到一个简单路径下方便用户访问。 硬链接 类似于cp的备份,但可以与源文件同步更新

#基本语法ln -s[原文件][目标文件] 创建软链接,无-s默认硬链接
ln -s /etc/issue /tmp/issue.soft
ln /etc/issue /tmp/issue.hard

#打印当前所有进程,用vi编译
#include <studio.h>
extern char **environ
int main(void)
{
    int i
    for (i=0;environ[i];i++){
        printf("%s\n",environ[i]);
    }

    return 0;
}
#getenv函数,获取一个环境变量值
#include <stdlib.h>
char *getenv(const char *name)
#setenv函数,改变或添加一个环境变量值
#include <stdlib.h>
int setenv(const char *name,const char *value,int overwrite);

vi-vim编辑器

先安装vim软件,纯文本编辑器

  1. 命令模式 --默认进入 进入 vim filesname,wq退出。这里每一个字母都是命令而不是字符。 $="移到行尾,0移到行首;gg到第一行,G到最后一行;nG到第n行,:n到第n行。x删除光标所在位置,nx删除光标所在后n个字符;dd删除/剪切行,ndd删除n行,D删除光标所在到行尾内容。yy复制当前行,p粘贴。小写u=撤销。/xxx搜索xxx。

  2. 编辑模式 在命令模式下使用:进入,结束按回车退出。 :set nu设置行号,set nonu取消行号。 替换操作:%& 全文替换;起始行,终止行s/要替换的字符串/替换的新字符串/c(确认)g(不确认) :w 保存修改 :w new_filename 另存为,:wq保存修改并退出;ZZ快捷保存退出。:q!不保存退出。

  3. 插入模式 在命令模式按i;a;o进入,按esc退出。 a为在光标后插入,i为在光标所在字符插入,o为在光标下插入新行;在大写下效果相反。

C库函数

在vim编辑器中需要使用c库函数编译。

#rename重命名
#include <studio.h>

int rename 
#修改当前进程的路径
int chdir(chonst char *path)

进程监控器——管道

管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。pipe(匿名管道)fifo(有名管道)。调用pipe系统函数即可创建一个管道。有如下特质:

  1. 其本质是一个伪文件(实为内核缓冲区)

  2. 由两个文件描述符引用,一个表示读端,一个表示写端。

  3. 规定数据从管道的写端流入管道,从读端流出。

管道的原理: 管道实为内核使用环形队列机制,借助内核缓冲区(4k)实现。


本文章使用limfx的vsocde插件快速发布