Linux笔记

来源:互联网 发布:真皮腰带淘宝攻略 编辑:程序博客网 时间:2024/06/03 20:18

                                                                            

(一)shell简介

1.在计算机中,底层硬件是通过操作系统(内核)来组织管理的,在内核与用户之间有一个能够操作系统的接口,叫做shell;

2.狭义的shell是指命令行方面的软件,广义的shell则包括图形界面的软件;

3.用户可以通过shell调用应用程序来操作系统;(shell其实也是一种可执行文件)

4.Linux中偏向于使用命令行方面的shell;比较常用的有bash;

(二)bash使用

1.当用户在终端机上面登陆后,Linux就会根据系统配置给用户一个shell(默认是bash),然后用户就可以通过bash操作系统;

2.$表示普通用户;#表示管理员;

3.理解目录,文件,路径3个概念(路径有目录路径或者文件路径之分);

4.~表示主目录;. 表示当前目录;.. 表示上一层目录;

5.命令:bash有提供一些内置命令,比如cd等,可以用指令type来判断;具体功能可以man查看;

6.bash是通过PATH环境变量记录的路径顺序来查找指令的;

7.[Tab]的使用:用于补全或者提示指令;/

8.通配符的使用:例如ls b*表示列出以b开头的文件或者目录;例如ls b?表示列出以b开头的文件或者目录;(?比*表示的范围比较小,?匹配单个字符,*匹配字符个数不限)

(三)Linux下的软件安装(以ubuntu为例)

1.直接下载.deb包安装:dpkg -i 安装包名字;

2.从源中下载安装,源列表记录在/etc/apt/sources.list中:apt-get install + 软件名字

3.下载源码压缩包自行编译安装,一般根据readme安装就可以了,通常可以概括为以下几个步骤(在软件源码所在目录操作):

(1)由软件包自带的configure程序检测程序所需的编译器,函数库等条件是否符合,建立makefile文件(若软件包已经包含makefile则不需要该步骤)

          相关指令:./configure

(2)由系统自带的make程序根据makefile进行编译,生成可执行文件等;

          相关指令:make或者make clean

 (3)将生成的可执行文件等安装到对应的目录下;

          相关指令:make install

(4)卸载软件时则使用make uninstall指令;

PS   (1)一般编译后会生成以下几种目录: bin/ ;lib/;include/;etc/;man/;

        (2)若想在命令行中执行bin程序,则需要在环境变量PATH中设置bin 路径;

(四)基本指令

1.man:查询指令的帮助文档;

2.pwd: 显示当前路径; 

3.ls :查看目录下内容;

4.mkdir:创建目录;

5.rmdir;删除空目录;

6.cd:进入目录;

7.cp:复制(复制目录 -r);

8.rm:删除(删除目录 -rf);

9.mv:移动;

10.cat:显示文件内容;

11.file:判断文件类型;

12.tar:压缩解压缩;(-zxvf 解压  -zcvf 压缩)

13.chmod:改变文件的权限;(+x 增加执行权限)

14.sudo:执行部分管理员权限;

15.su:切换用户;

16.wget:下载文件;

17.top:实时显示系统中各个进程的资源占用状况;

18.echo:显示环境变量;

19.env:显示系统默认环境变量;

20.ps:显示系统进程;

21.kill:杀死进程;

22.adduser:增加用户;

23.passwd:设置用户密码;

24.userdel:删除用户;

25.which:查看文件位置(-name)

26.du:查看文件大小;(-h:可以转换为Gb或者Mb)

27.export:设置环境变量,但是只对当前的terminal有效;

28.touch:新建一个文件;

29.ln:创建链接;

30.addgroup:增加用户组;

31.grep:文本搜索工具(正则表达式);

32.chown:修改文件所属用户;

33.ifconfig:查看ip等信息;

34.scp:远程复制;

35.awk:文本分析工具;(访问文本文件,操纵文本文件中某些数据)

36.sed:文本处理工具;(修改和编辑文本文件中某些行)

37.curl:利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具;

38.重定向问题:

(1)0表示标准输入,1表示标准输出,2表示错误输出;
(2)>与1>表示标准输出重定向;
(3)2>&1表示标准错误输出重定向到标准输出;
39.管道指令:| ,>
40.vim中set encoding=utf-8设置编码;
41.dirname:表示取目录(dirname  /home/hi执行结果为/home);
42.wc -l:查看文件行数;
43.head -100 a.txt | tee b.txt:将a文件前100行复制到b中;
44.rz:本地文件上传到terminal中;sz:下载文件
45.head:显示若干行 head -10 a.txt 

(五)常见问题

1.登录shell问题

(1)初装ubuntu时,root用户是默认没有密码的,需要添加密码;第一个普通用户默认有部分管理员权限,可以用sudo;

(2)用户信息可以查看/etc/passdw文件;

(3)/etc/shadow存放每个用户的登录口令;

2.修改环境变量

(1)修改/etc/profile文件,对所有用户永久生效:export envname=path;

(2)修改~/.bash_profile或者~/.bashrc文件,对单一用户永久生效:export envname=path;

(3)直接运行命令,只对当前的shell有效:export envname=path;

3.C++/C文件的编译

    g++/gcc    -o 可执行文件名+源文件名+ -I 头文件路径名 + -L 库函数路径名 + (-static)+ -l 库名 

 (1)-I 头文件路径名:指定路径作为第一个搜索头文件的路径(大写I);

 (2)-L 库函数路径名 :指定路径作为第一个搜索库函数的路径;

 (3)-l 库名 :等价于“lib+库名+.so”,若有 -static ,则等价于“lib+库名+.a”;

          PS:

          1)静态链接库:目标文件的一个集合,以lib为前缀,以.a为后缀,常见形式为“lib+库名+.a”;

          2)动态链接库:程序运行时加载的库,以lib为前缀,以.so为后缀,常见形式为“lib+库名+.so”;

          3)若运行二进制文件中需要使用动态链接库,则运行前需指定动态库的路径:export LD_LIBRARY_PATH = 路径名;

4.创建快捷方式

(1)在/usr/share/applications/目录下新建.desktop的文件;

(2)网上查找相应的app的.desktop的内容复制进去,就可以创建一个快捷方式了;

5.文件权限的数字表示:r(4),w(2),x(1);

6.修改用户的管理员权限:修改文件/etc/sudoers,在root ALL=(ALL:ALL)ALL后面增加 : 用户名 ALL=(ALL:ALL)

7.配置静态IP:

(1)sudo vim /etc/network/interfaces

(2)输入ip,子网掩码,网关信息:

auto eth0

iface eth0 inet static

address  10.37.12.23

netmask  255.255.255.0

gateway 10.37.12.1

dns-nameservers 202.98.0.68

(3)重启网络服务(或者重启系统):

sudo/etc/init.d/networking  restart

8.修改主机名

(1)sudo vim /etc/hostname:修改主机名

(2)sudo vim /etc/hosts:修改域名(与IP挂钩)

9.编译过程中的环境变量的设置:

(1)export LD_LIBRARY_PATH=路径:$LD_LIBRARY_PATH:设置临时库路径;

(2)export C_INCLUDE_PATH=路径:$C_INCLUDE_PATH:设置临时C头文件路径;

(3)export CPLUS_INCLUDE_PATH=路径:$CPLUS_INCLUDE_PATH:设置临时C++头文件路径;


1 0
原创粉丝点击