20170412

linux命令 :

linux常见问题:

软件中心打不开:

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update
sudo apt-get install software-center

ls查看文件
ls -p -a查看详细文件
mkdir创建目录
mkdir -p 创建目录的所有路径自动出现,例如mkdir -p abc/edf创建了abc文件夹,文件夹下面有edf文件夹
rmdir删除目录,使用同mkdir,只能删除空目录
rm -rf直接删除包括里面的东西,删除文件
rm命令删除一个已经存在的文件
tar命令可以对多个文件或者文件夹进行打包操作
tar命令可以在打包完成之后再对打包结果进行压缩处理(一般情况下,打包压缩一起来,节省空间)
在linux系统中对文件进行压缩处理可以使用如下命令:
tar zcvf  压缩文件名.tar.gz 路径1 路径2 ......
    dj@dj:~$ ls
    1.c               helloc                 xunlianying  视频  下载
    a.out             <invalid path>         公共的       图片  音乐
    examples.desktop  <invalid path>.layout  模板         文档  桌面
    dj@dj:~$ tar zcvf xunlianying.tar.gz xunlianying/
    xunlianying/
    dj@dj:~$ ls
    1.c               <invalid path>         公共的  文档
    a.out             <invalid path>.layout  模板    下载
    examples.desktop  xunlianying            视频    音乐
    helloc            xunlianying.tar.gz     图片    桌面
解压缩可以采用如下命令:
tar zxvf 压缩文件名.tar.gz
cp命令可以把一个已经存在的文件拷贝一份放在另外的地方
mv命令可以把一个已经存在的文件移动到另一个地方
touch命令可以创建新文件
touch命令还可以把一个已经存在文件最后修改时间改成执行touch命令的时间
vi:
vi中dd删除当前行
x删除当前光标下的字符
在命令行中使用vi 文件路径进入vi
进入vi后处于正常模式,输入I进入插入模式,输入:进入命令模式
退出vi: 1.在命令模式下输入q!可以不保存文档中的修改直接退出
        2.在命令模式下输入wq或x可以先保存所有修改然后退出
        命令模式下输入w可以保存文档的修改而不退出vi    
vi中自带剪贴板,作为文字信息的中转站
在正常模式下使用nyy命令可以把当前光标既下面的几行拷贝到剪贴板上,
其中n是一个数字,表示一共考拷贝的行数 例:2yy
在正常模式下使用np命令可以把剪贴板上的内容在当前光标所在的行的下面粘贴n次
在正常模式下使用ndd命令可以把当前光标所在行既下面的几行剪切到剪切板上,n是数字,代表一共剪切的行数。
设置命令可以扩展vi的功能
设置命令是在命令模式下使用set命令实现的 set nu 添加行号 set nonu删除行号
~/.vimrc下记录各种set命令,每次 vi启动都会从这个文件中得到
set命令并且按顺序执行     ~代表当前账号的home目录

ln创建连接文件  ln abc.txt def.txt  连接文件可以用来代表另外一个文件
用上述方式创建的链接文件交硬链接文件,硬链接文件可以独立于源文件而存在,源文件删了,硬链接文件仍然存在
ln命令使用-s选项可以创建软链接文件,软链接不能独立于源文件而存在,源文件删除,软链接不可用

文件属性
文件属性由九个英文字母构成,决定了文件可以怎么使用
文件属性分成三组,每组三个字母,针对一种特定的用户,三种用户分别是文件创建者,同组人和其他人
每组属性包含三个字母:
第一个字母表示是否能查看文件内容,第二个表示能否修改文件内容,第三个字母表示能否执行文件
r表示可以查看,w表示可以修改,x表示可以执行,-表示没有对应的权限
每一组的三个字母可以使用一个0到7之间的数字表示(r对应4,w对应2,x对应1,-对应0)
chmod命令可以修改一个文件的属性
dj@dj:~/biaoc/day02$ chmod 775 abc.txt
dj@dj:~/biaoc/day02$ ls -l
总用量 0
-rwxrwxr-x 1 dj dj 0 3月  27 23:11 abc.txt

包含多个命令的文件叫脚本文件,可以用来自动化的完成各种繁琐的工作
程序是计算机里的一个文件,其内容不会随着时间改变,进程会随着时间变化,用户真正使用的是进程而不是程序,操作系统为每个进程分配了一个整数作为进程ID,不同进程的ID不同
ps命令可以查看当前终端窗口里的进程
ps -aux选项可以查看系统中所有进程
kill 进程ID 结束一个进程
-9选项可以强制结束一个进程 kill -9 进程ID
ctrl + c可以把占住终端窗口的进程结束掉
输出重定向可以让命令把本应该显示在窗口中的内容写入到文件中
在命令的最后使用>可以实现输出重定向的效果,使用>实现输出重定向会把文件中原有内容删除
使用>>实现输出重定向会把新内容追加在原有内容后面
输入重定向可以让程序从文件中得到需要的信息,输入重定向使用<实现

管道
在linux系统中可以使用管道把多个命令连成一条直线,前一个命令的处理结果作为后一个命令的初始数据。
管道使用一个|符号表示
在命令中使用通配符编写路径可以用一个路径代表多个实际路径
dj@dj:~/biaoc/day02$ ls
abc  abc.sh  abc.txt  abd  abe  abef
dj@dj:~/biaoc/day02$ rmdir ab?
dj@dj:~/biaoc/day02$ ls
abc.sh  abc.txt  abef

?是一个通配符,可以用来代表任意单个字符
dj@dj:~/biaoc/day02$ ls
abc  abc.sh  abc.txt  abd  abe  abef
dj@dj:~/biaoc/day02$ rmdir ab*
rmdir: 删除 'abc.sh' 失败: 不是目录
rmdir: 删除 'abc.txt' 失败: 不是目录
dj@dj:~/biaoc/day02$ ls
abc.sh  abc.txt
*也是一个通配符,可以代表任意多个字符

现有1g到100g之间的100个整数重量,要求设计一组砝码表示其每个整数重量(砝码不能重复,砝码的数量越少越好)

gcc的工作过程
1.完成所有预处理指令的处理工作
2.把所有语句翻译成计算机认识的格式(编译)
3.把程序的不同部分连起来(链接)
预处理指令都以#做开头,不是以;做结尾
所有预处理指令都用来把.c文件中的内容换成另外的样子
#include是一个预处理指令 ,这个预处理指令把另外一个文件的内容合并到当前文件
如果使用""包含路径,则表示起点是当前文件所在目录
如果使用<>包含路径则表示起点是系统中指定的一些目录
gcc的选项
-E  只完成预处理工作
-c  只完成预处理和编译工作(得到以.o作为扩展名的目标文件)
-o  指定新生成文件的名称
vmuser@Linux-host:~/biaoc$ gcc 01demo.c -o 01demo
vmuser@Linux-host:~/biaoc$ ls
01demo  01demo.c  01demo.h  a.out
-std=c89或者-std=c99
指定编译过程采用的标准
//c89规范c99规范
采用注释向文件中写入文字信息

原文地址:https://www.cnblogs.com/dongjian16/p/6698962.html