在Linux中,我们可以对文件或文件夹设置权限(r,w,x,-).然而,对文件和文件夹的权限设置,具有不同的意义.下面,通过几个例子来了解一下权限的意义所在.在开始之前,我们需要了解几个修改权限的命令: 备注:在测试环境中,通过两组用户名/用户组来演示.这两组分别为:root/root,Jonathan/Jonathan.此外,下面的例子都是连续的,也就是当前的例子是基于前面的例子. chgrp - change group,用于修改文件/文件夹的用户组. 现在,/home/Jonathan/J…
文件/文件夹居然还有隐藏属性?没错,隐藏属性对于文件/文件夹的安全很重要.好比如说,我们需要使用”鉴定符“来揭开装备的隐藏属性:在Linux中chattr/lsattr就是“鉴定符”. chattr基本格式为:chattr +-=[acdeijstuADST] .+表示增加某种隐藏属性:-表示取出某种隐藏属性:=表示直接设置隐藏属性.man chattr可知: The letters ‘acdeijstuADST’ select the new attributes for the files:…
chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权限. ※命令格式 chmod [options] mode files mode可以是数字形式或以who opcode permission形式表示.who是可选的,默认是a(所有用户).只能选择一个opcode(操作码).可指定多个mode,以逗号分开. ※八进制语法chmod命令可以使用八进制数来…
tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件. tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案.利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,对于备份文件或将几个文件组合成为一个文件以便于网络传输非常有用. 打包和压缩 打包是指将一大堆文件或目录变成一个总的文件: 压缩则是将一个大的文件通过一些压缩算法变成一个小文件. 为什么要区分这两个概念呢?这源于Lin…
以前一直做Windows开发,近期的项目中要求使用Linux.作为小菜鸟一枚,赶紧买了一本经典书<鸟哥的Linux私房菜>学习.最近刚好有一个小任务 - 由于产品产生的Log很多,而且增长很快,所以需要用脚本(Bash scripts)删除过期的Log文件. 使用Linux下的Cron Job可以很好的解决这个问题. 什么是Cron Job? 建立Cron Job需要用到命令crontab,维基百科定义:crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.…
find命令是Linux下最常用的命令之一,灵活的使用find命令,你会发现查找文件变得十分简单. 命令格式 find [指定查找目录]  [查找规则(选项)]  [查找完后执行的动作] 参数规则 -name 按照文件名查找文件-iname 根据文件名查找,但是不区分大小写-perm 按照文件权限来查找文件-prune 使用这一选项可以使find命令不在当前指定的目录中查找 -user 根据属主来查找文件-group 根据属组来查找文件 -uid 根据uid来查找文件-gid 根据gid来查找文…
lsof,list open files, 是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件. 命令格式:lsof [参数][文件] 命令功能: 用于查看进程打开的文件,打开文件的进程,进程打开的端口(TCP.UDP). lsof 需要访问核心内存和各种文件,所以通常需要root用户执行. 命令参数:-a 列出打开文件存在的进程-c<进程名> 列出指定进程所打开的文件-g 列出GID号进程详情-d<…
cat命令的用途是连接文件或标准输入并打印. 这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. Linux下查看文件内容的方式很多:vi 文件名 #编辑方式查看,可修改cat 文件名 #显示全部文件内容more 文件名 #分页显示文件内容tail 文件名 #仅查看尾部,还可以指定行数head 文件名 #仅查看头部,还可以指定行数sed '1,$'p 文件名 #可以指定起始行和结束行的 cat的主要功能: 1.一次显示整个文件:cat…
linux grep命令 (global search regular expression(RE) and print out the line )是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep这个应用程序最早由肯·汤普逊写成.grep原先是ed下的一个应用程序,名称来自于g/re/p(globally search a regular expression and print,以正规表示法进行全域查找以及打印). grep是非常强大的命令,配合管道一起使…
在学习Hard Link与Symbolic Link之前,需要大概了解一下inode与data block.在Linux的文件系统中,一个文件对应一个inode与若干个data block.inode与data block都通过编号来标识,例如第30333个inode,第20334个data block.inode中记录着文件的属性,如文件的所有者.所属用户组.对文件的权限以及指向data block的指针.文件的真正内容是存放在data block中的.一个文件的内容,被分割成若干部分保存在不…
在Linux中,文件的属性是一个很重要的概念,用户或者用户组对一个文件所拥有的权限,都可以从文件的属性得知. 我们可以通过ls -al命令,列出某个文件夹下面的所有文件(包括以.开头的隐藏文件).下面是install.log的文件属性: -rw-r--r--.  1 root root 71014 Jul 20 23:33 install.log 文件权限 连接数 文件所有者 文件所属用户组 文件大小 最后修改时间 文件名 -rw-r--r-- 1 root root 71014 Jul 20…
在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦:另一种方法是仍然用普通方法编程,然后用nohup命令启动程序: nohup <程序名> & 则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程).使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守…
1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH: $ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 下面的例子表明该系统正在使用SSH2: $ ssh -V ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-…
/etc/passwd: 用户的信息是保存在/etc/passwd下面(早期的时候,用户的密码也是放在该文件中.后来出于安全考虑,将密码放在/etc/shadow中去): /etc/group: 用户组的信息是保存在/etc/group下面: /etc/shadow: 密码信息是保存在/etc/shadow下面: 通过‘:’,将/etc/shadow的内容分层以下内容(从左至右) 帐号名称 密码 最近修改密码的日期(从1970-1-1开始算起,单位是天) 从上一次修改日期算起,密码不可更改的天数…
bash是各大Linux发行版都支持的shell.当我们登陆bash的时候,虽然我们什么都没做,但是我们已经可以在bash中调用各种各样的环境变量了.这是因为,系统中已经定义了一系列的配置文件,以及加载这些配置文件的规则.下面通过CentOS举例说明.在这之前,我们需要了解两个概念:login shell与non-login shell.很明显,这二者的区别在于需不需要login,同时这两种shell加载配置文件的规则也不相同. login shell:通俗的讲,当我们登陆shell时,需要输入…
>>端口和进程 端口不是独立存在的,它是依附于进程的.某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了.下次若某个进程再次开启,则相应的端口也再次开启. >>常用的端口查看命令 ps -auxnetstat –apn加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号,大部分时候都是和grep组成通道查看. 可以通过"lsof -i:PORT…
tail 命令用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理. tail命令常用来查看日志文件.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. ※命令格式tail [OPTION] [FILE] ※参数规则-c -bytes=N 显示的字节数-f 循环读取-q 不显示文件头详细信息-v 显示详细的处理信息-n <行数> 显示行数--pid=PID 与…
所谓的Tarball软件,实际上指的是从网络上下载到的源码包.通常是以.tar.gz和tar.bz2结尾.至于gz和bz2的区别在于压缩算法的不同(bz2的压缩效果好像好一些).源码包下载完成后,需要现将源码包解压缩,然后根据以下步骤进行安装. 1. ./configure - 如果有能力,我们完全可以通过gcc自信编译所有源码.但是,我们下载到的源码如果很大(主要是文件多),那么直接gcc编译的难度就很大.原因是:我们需要很清楚软件源码的架构,需要解决代码的依赖性.为了减轻编译的难度,当然是通…
变量是一个很重要的概念,无论是bash脚本还是其他语言,都是如此.在bash中,创建变量很简单,给变量一个名称即可.默认情况下,变量的值为空.我们可以通过等号为变量赋值.需要注意的是,变量和变量的值不是一个概念.当给定变量一个名称后,例如myvar,我们需要通过$取得变量的值,即$myvar.使用echo输出变量的值. 输出变量的值的格式为:echo $myvar 或者 echo ${myvar} 使用变量的时候,需要注意以下几点: 1. 给变量赋值的时候,如果值包含空格,需要用单引号或者双引号…
jobs命令 jobs命令用于查看当前终端后台运行的任务 注意和ps的区别: ps命令用于查看瞬间进程的动态 通过一个实例可以理解它们之间的区别,依次执行如下命令:vim & //后台执行vimbingyue@ubuntu:~$ vim &[1] 2493bingyue@ubuntu:~$ vim &[2] 2495[1]+ Stopped vim jobs //查看后台执行的任务bingyue@ubuntu:~$ jobs[1]- Stopped vim[2]+ Stopped…
在Ubuntu Linux复制文件夹时出现一个问题,做个笔记,希望能给刚入门的菜鸟学习一下(见图1). 出现略过目录: www_linuxidc_com@linuxidc-Aspire-3680:~$ cp www.linuxidc.com /usr/share/backgrounds/cp: 略过目录 “www.linuxidc.com” 参数给加上一个-r复制 www_linuxidc_com@linuxidc-Aspire-3680:~$ cp -r www.linuxidc.com /u…
尚学linux课程---4.linux网络配置及linux文件 一.总结 一句话总结: linux下的etc目录是配置文件的目录,所以很多的文件配置操作都可以看到它的身影:比如 init系列命名,比如配置永久ip NAT方式配置虚拟机网卡之后:用虚拟路由做DNS服务器的时候,多台linux虚拟机内网可以ping通,外网也可以ping通 1.动态分配ip地址服务是什么(无论Linux下还是win下,动态获取ip地址都需要这个服务)? 动态分配IP地址即DHCP服务:Dynamic Host Con…
linux建立文件夹软连接,并强制覆盖 ln -sfn /home/var/log/httpd/logs logs 这将在当前目录下建立logs软连接,指向/home/var/log/httpd/logs,如果存在logs软连接,将强制覆盖…
linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录),如果报错请看下面 3. 打开的文件就是忽略列表文件了(默认是空的),每一行是一项,在该文件中输入temp,保存退出 4. svn st查看状态,temp的?状态已经消除了 如果在svn propedit svn:ignore .时报错:svn: None of the environment va…
Linux 本地文件或文件夹上传服务器 一.权限设置 本地文件或文件夹上传服务器,你首先需要获取到root权限: 二.上传方式 上传方式有两种 : 1.通过 FTP 客户端上传文件或文件夹: 2.通过 git clone 项目文件: 三.通过 FTP 客户端上传文件或文件夹 1.登陆服务器,进入自己的工作目录 2.查看自己的工作目录 也就是说每个服务器都为每个可以访问的用户建立了自己的工作空间,每个用户的工作空间都存储在home包中,我们可以看一下服务器中都有那些用户: 进入我们自己工作空间中,…
昨天遇到一个问题,在Linux中有一个文件夹里面含有大量的Cache文件(夹),数量级可能在百万级别,使用rm -rf ./* 删除时间慢到不可接受.Google了一下,查到了一种方法,试用了下确实比单纯使用rm快了一个数量级. 方法见下: 1)首先建立一个空白文件夹. mkdir /tmp/www.111cn.net 2)之后使用以下语句即可快速的删除文件. rsync --delete-before -d /tmp/www.111cn.net/ /the/folder/you/want/de…
Linux下 两台机器文件/文件夹 相互拷贝 设有两台机器 :A:*.101及 B:*.102. 把A下的.temp/var/a.txt拷贝到B机器的/text/目录下: 进入B机器:scp root@*.101:/temp/var/a.txt /test/ 或 进入A机器:scp /temp/var/a.txt root@*.102:/test/ 把A下的文件夹(含子文件夹)/temp/var/拷贝到B机器/test/目录下: 进入B机器:scp -r root@*.101:/temp/var…
从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括.你可以挑一个喜欢的方法.当然,看看其他命令也能在别的地方帮到你. 我已经在自己的环境下测试过所有的命令和脚本了,因此你可以直接用到日常工作当中. 通常大家都倾向 scp,因为它是文件复制的原生命令native command之一.但本文所列出的其它命令也很好用,建议你尝试一下. 文件复制可以轻易地…
从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括.你可以挑一个喜欢的方法.当然,看看其他命令也能在别的地方帮到你. 我已经在自己的环境下测试过所有的命令和脚本了,因此你可以直接用到日常工作当中. 通常大家都倾向 scp,因为它是文件复制的原生命令native command之一.但本文所列出的其它命令也很好用,建议你尝试一下. 文件复制可以轻易地…
原文地址:<linux各文件夹的作用> linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 …