linux(二)

whatis command查看命令简要说明,同时whatis支持-w选项使用正则表达式。更加详细的文档在info command,man num command查看说明文档,分为9个类别,即num取1~9.查看命令的安装路径:which command,查看linux对命令的搜索路径whereis command。

文件操作:创建目录mkdir dir_name;

删除目录rm -rf dir_name;复制目录cp -r source_dir  dest_dir;

显示当前路径pwd;以时间排序,按列表方式显示目录项ls -lrt;

给每条目录前面加上一个id标号cat -n;查找文件或目录 find dest_dir -name file_name;

更加快速的查找使用locate string 查找包含有string的路径,因为locate使用了文件索引;

查看文件内同的命令有cat / vi/ head / tail / less;

显示文件之间的差别diff file2 file1;查找文件内容egrep regex file_name,实际上是在按照正则表达式regex来打印文件中匹配的行;

更改文件的拥有者chown;更改文件读写执行属性chmod;增加脚本可执行权限chmod a+x script_name;

创建一个文件的硬链接ls file file_link,创建符号软连接ls -n file file_link;

find命令使用正则表达式查找-regex,指定搜索深度使用-maxdepth。使用-type来按照类型搜索,可选选项是d/f/l。查找到某些文件之后要执行某种命令可以使用find .... -exec ...{} \。

命令连接执行使用“|”,前面成功,则执行后面一条,否则,不执行则使用&&;前面失败,则后一条执行 则使用 ||;重定向输出使用 >。

grep pattern file默认访问文本中的匹配行。sort 排序文本行,-n 按数字进行排序 VS -d 按字典序进行排序   -r 逆序排序   -k N 指定按第N列排序。

PATH是一个字符串,存储的命令搜索路径,linux按照PATH中给出的各个路径顺序来搜索命令,要在PATH中添加一条命令时可以export PATH=$PATH:命令安装的路径名这是临时性的重启之后会消失,另外也可以是在/etc/profile文件的最后加入该命令或者在~/.bashrc文件中加入该命令再重启系统才可永久生效,但是profile文件是对所有用户都生效,而.bashrc文件只对该用户有用。

bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。/etc/profile,/etc/bashrc 是系统全局环境变量设定,~/.profile,~/.bashrc用户目录下的私有环境变量设定。当登入系统获得一个shell进程时,其读取环境设置脚本分为三步::首先读入的是全局环境变量设置文件/etc/profile,然后根据其内容读取额外的文档,如/etc/profile.d和/etc/inputrc;读取当前登录用户Home目录下的文件~/.bash_profile,其次读取~/.bash_login,最后读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系;读取~/.bashrc。~/.profile与~/.bashrc的区别:这两者都具有个性化定制功能;~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次;~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次。

查看磁盘利用大小df -h。查看当前目录所占空间du -sh。

linux中的文件系统是树形结构,磁盘被分割成的一块一块的硬盘区域就是磁盘分区,Linux 中的每一个分区都是构成支持一组文件和目录所必需的贮存区的一部分。它是通过挂载(mounting)来实现的,挂载是将分区关联到某一目录的过程。 挂载分区起始于这个指定目录通称为挂载点。如果分区 /dev/hda5 被 挂载在 /usr 上,这意味着所有在 /usr 之下的文件和目录在物理意义上位于 /dev/hda5 上。/usr 之下的一个或多个目录还有可能是其它分区的挂载点。

tar -cvf tar_name files把files这些文件打包到一个tar_name文件中,而压缩的命令用gzip file。解压缩使用tar -xvf。

netstat查询网络链接,wget url 是一个下载工具。

增加账户命令useradd -m username,之后通过passwd username来设置新用户密码。而删除账户命令userdel -r username,增加用户之后在/home目录中多了一个文件夹。账号切换su username。系统的所有用户及所有组信息分别记录在两个文件中:/etc/passwd , /etc/group ,可以查看。

ubuntu中从普通用户切换到root用户使用的命令:sudo su /  su / su root。从root用户切换回普通用户命令:su user_name  /  exit / Ctro+D。设置root用户密码命令为sudo password。

查看系统版本uname -a;linux中的apt是一个包管理工具,有的linux版本使用yum来管理包。包管理器作用是从源服务器下载最新的软件包列表,之后在需要安装某个软件包apt-get install 的时候从列表里面查询这个软件包的版本信息、系统要求、依赖并且添加到列表中,再查询所有安装列表里面的软件包的.deb文件下载地址,最后批量下载,自动分析安装顺序之后完成安装。但是软件包的更新依赖于apt-get update命令。apt-get upgrade是对已经安装的软件包本身更新的过程。一般在install之后执行update。wget是linux中通用的下载工具,只是下载工具;yum是redhat, centos 系统下的软件安装方式,基于rpm包管理;rpm:  软件管理;   redhat的软件格式是rpm ;使用wget下载一个 rpm包, 然后用 rpm -ivh  xxx.rpm  安装这个软件,也可以直接用  yum  install  sqoop   来自动下载和安装依赖的rpm软件;apt-get 是ubuntu下的软件安装方式。

linux中查看本机ip地址的命令是ifconfig,而设置本机IP地址的命令是ifconfig etho ip,eth0是接口。

linux重启网络的命令一般是sudo service network restart,但是ubuntu重启需要sudo service network-manager restart。

linux中安装软件如果不考虑多用户环境使用linux的话则一定安装到自己的/home文件夹中因为根目录/可能会出现空间不足,如果考虑多用户环境则安装到/opt/中。亲身经历,教训需要记住。

linux中显示磁盘分区上的可使用的磁盘空间的命令是df,参数常用的是-h以MB显示或者-H以GB显示。

linux中提供的namespace机制是由于虚拟化技术和大容量存储管理的需要,因为在namespace出现之前系统资源都是全局管理的,例如进程号pid是全局唯一的因而互不冲突,从而实现管理,但是采用namespace之后,每个namespace中的PID可能会相同,但是由于属于不同的ns所以不会冲突,用户只能看到属于自己namespace下的资源,所以一个namespace就相当于一个独立的linux系统,不同的namespace是互不见的,所以ns是一种轻量级的资源隔离的方案。而且namespace是和进程相关的。同时linux提供了多种namespace,包括IPC/NET/UTS/PID/MNT/USER。进程对应的结构体task_struct中就有nsproxy指向namespace结构体。一个进程可以属于多个ns,而一个ns也可以拥有多个进程。要创建新的Namespace,只需要在调用clone或fork时指定相应的flag。Linux Namespaces机制为实现基于容器的虚拟化技术提供了很好的基础,LXC(Linux containers)就是利用这一特性实现了资源的隔离。不同container内的进程属于不同的Namespace,彼此透明,互不干扰。命名空间技术实际上是建立系统的不同的视图,其内部是抽象了系统的全部资源,这正是docker能够发挥作用的基础。命名空间可以是层次性的也可以是非层次性的。

linux的buffer是为了提高写磁盘的效率,就是会将要写入文件的内容先缓存到buffer中,等到buffer满了之后自动调用update或bdflush命令将buffer中的内容强制写入到文件中,或者在用户调用sync时执行强制刷新操作。而cache是为了提高读磁盘效率,会将之前读出的文件内容缓存起来,以便以后读取用。Linux命令清理内存:

sync  

echo 1 > /proc/sys/vm/drop_caches

echo 2 > /proc/sys/vm/drop_caches

echo 3 > /proc/sys/vm/drop_caches

四条命令的执行顺序是:强制刷新缓冲区;free pagecache;free dentries and inodes;free pagecache, dentries and inodes,实际都是在往同一个文件/proc/sys/vm/drop_caches中写入1/2/3不同清理策略。查看内存使用情况的命令是free。而需要写一个定时定量清理内存缓冲区的脚本则需要参考:https://www.cnblogs.com/liujiacai/p/7821414.html


linux下的程序调试:https://linuxtools-rst.readthedocs.io/zh_CN/latest/advance/02_program_debug.html

linux下的性能优化:https://linuxtools-rst.readthedocs.io/zh_CN/latest/advance/03_optimization.html

linux使用工具查询:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/index.html

linux命名空间namespace机制:http://blog.csdn.net/preterhuman_peak/article/details/40857117
 linux中环境变量文件的配置:http://www.cnblogs.com/mengyan/archive/2012/09/04/2669894.html

linux下配置mysql:http://www.cnblogs.com/mengyan/archive/2012/09/04/2670039.html

linux的配置文件综述:https://www.ibm.com/developerworks/cn/linux/management/configuration/

linux网络服务配置方式:http://www.360doc.com/content/14/0421/11/1123425_370788121.shtml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值