Linux常用命令

来源:互联网 发布:塔吉特百货大数据 编辑:程序博客网 时间:2024/06/14 09:53

显示目录和文件的命令

修改环境变量

Ls:用于查看所有文件夹的命令。

#不带参数运行ls会只列出文件或者目录$ ls

使用长清单模式第1列第一个字母 d 意味着内容是目录或者文件。在上面的截图中,Desktop、 Documents、 Downloads 和 lynis-1.3.8是目录。如果是'-'( 减号 ),这意味着它的内容是文件。当它是l( 小写l字符 ),意味这内容是链接文件。 下面的9个字符是关于文件权限。 前3个rwx 字符是文件的拥有者的权限, 第二组3rwx 是文件的所有组的权限, 最后的rwx 是对其他人访问文件的权限。第2列 这行告诉我们有多少链接指向这个文件。第3列 这行告诉我们谁是这个文件/文件夹的所有者。第4列 这行告诉我们谁是这个文件/文件夹的所有组。第5列 这行告诉我们这个文件/文件夹的以字节为单位的大小。 目录的大小总是4096字节。第6列 这告诉我们文件最后的修改时间。第7列 这告诉我们文件名或者目录名。ls -l
#显示隐藏文件$ ls -a$ ls -d  #只显示目录


Dir:用于显示指定文件夹和目录的命令 

Linux  dir 命令和 ls 命令功能类似,用以查看目录、文件权限等详细信息。一、Linux dir命令使用权限        任何用户都可以在终端使用“ dir ”命令。二、Linux dir命令使用格式        dir [选项] [目录名] (使用时无方括号)三、Linux dir命令功能        dir 命令的功能和 ls 命令类似,不过命令参数比较少四、举例例如列出“/home/cc/Ruijie”里所有内容的详细信息。可用如下命令。[cc@cc ~]$ dir -l /home/cc/Ruijie[cc@cc ~]$ dir -l /home/cc/Ruijie总计2168-rwxr-xr-x 1 cc cc  112876 2008-06-26 libpcap.so.0.6.2 -rwxr-xr-x 1 cc cc  737192 2008-06-26 libstdc++.so.5 -rwxr-xr-x 1 cc cc1938 2004-04-23 readme.txt-rwxr-xr-x 1 cc cc 1350772 2005-08-31 xrgsu


   Tree: 以树状图列出目录内容
   Du:显示目录或文件大小 

   df:检查linux服务器的文件系统的磁盘空间占用情况

  du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。

   df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,如果此时还有运行的进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除, 分区超级块中的信息也就不会更改。这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。



       df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。

 df和du的区别
修改目录,文件权限和属主及数组命令
   Chmod:用于改变指定文件的权限命令。
   Chown:用于改变文件拥有属性的命令。
   Chgrp:用于改变文件群组的命令。
   Chattr:用于设置文件具有不可删除和修改权限。
   Lsattr:用于显示文件或目录的隐藏属性。
 
创建和删除目录的命令
   Mkdir:用于创建目录
   Rmdir:用于删除空的目录
   Rm -f:用于删除不为空的目录
 
创建和删除,重命名,复制文件的命令
  Touch:创建一个新的文件或修改文件时间
  Vi:创建一个新的文件
   Rm:删除文件或目录
   Mv:重命名或移动文件的命令
   Cp:复制命令
注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。


显示文件内容的命令
   Cat:用于显示指定文件的全部内容
   More:用分页的形式显示指定文件的内容
   Less:用分页的形式显示指定文件的内容,区别是但使用 less 可以随意浏览文件,而
   Head:用于显示文件的前n行内容。
行号可以是负数,则表示从第一行开始到倒数第n –1 行,比如 –n –2 则表示从第一行到倒数第3行)

   Tail:用于显示文件的后n行内容。
 区别:

       

      more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

less 在查看之前不会加载整个文件。

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,向前翻只对文件有用,对管道无用,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
查找命令 
   Find:查找指定的文件。
   Whereis:寻找特定文件,只能用于程序名的搜索,查找二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)
   Which:用于查找并显示给定命令的绝对路径。。which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
   Locate:快速查找系统数据库中指定的内容。
   Grep:查找文件里符合条件的字符串。

   type:命令用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。

区别

find 最强大,但参数也较多,需指定查找目录,如 find / -name “filename” 
locate 是一个快速查找命令,有预先索引好的数据库,由于数据库是定时更新,因此,结果上可能会有迟滞 和  错误。
whereis 是一个根据环境变量查找可执行文件的命令,可能返回多个结果
which  同whereis  但是返回的只是第一个结果
type 查看命令的类型,bash builtin,还是其他,亦可输出命令的地址 


关机和重启计算机的命令     
   Shutdown:

            -r 关机后立即重启
             -k 并不真正的关机,而只是发出警告信息给所有用户
             -h 关机后不重新启动
   Poweroff:用于关机和关闭电源
   Init:改变系统运行级别
        0级用于关闭系统
        1 级用于单一使用者模式
        2级用来进行多用户使用模式(但不带网络功能)
        3级用来进行多用户使用模式(带网络全功能)
        4级用来进行用户自定义使用模式
        5级表示进入x  windows时的模式
        6级用来重启系统
   Reboot: 用于计算机重启
   Halt:用于关闭计算机系统
 
压缩和打包命令
   Tar:用于多个文件或目录进行打包,但不压缩,同时也用命令进行解包

      -j 通过bzip2进行压缩/解压缩

      -z 通过gzip进行压缩解压缩

      --exclude=/root/etc/* 不想解压的目录

压缩    tar -jcv -f filename.tar.bz2 要被压缩的目录或名称

查询    tar -jtv -f filename.tar.bz2

解压缩   tar -jxv -f filename.tar.bz2 欲解压的目录(或者只想解压的部分文件)


   Gzip:用于文件进行压缩和解压缩命令,文件扩展名为.gz结尾。

gzip -c 将压缩的数据输出到屏幕上

   -v 显示出原文件/压缩文件的压缩比等信息

   -d 解压缩(或zcat)

   Gunzip:用于对gzip压缩文档进行解压缩。
   Bzip2:用于对文件或目录进行压缩和解压缩
   Bzcat:用于显示压缩文件的内容。
   Compress/un compress: 压缩/解压缩.Z文件
   Zcat:查看z或gz结尾的压缩文件内容。
   Gzexe:压缩可执行的文件
   Unarg:解压缩.arj文件
   Zip/unzip:压缩解压缩.zip文件
 
用户操作命令
   Su:切换用户命令

   su用于用户之间的切换。但是前面的用户依然保持在登录状态。这种切换如果超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。
  Sudo:以系统管理员的身份执行命令

   是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers文件中有配置项、才具有使用sudo的权利
   Passwd:用于修改用户的密码

 su命令和su -命令

        最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。如图:


改变目录和查看当前目录命令

   Cd:进入工作目录
   Cd..:会退到上一级目录

   cd -是返回到上一次的工作目录
   Pwd:显示当前用户所在工作目录位置


文件连接命令
   Ln:为源文件创建一个连接,并不将源文件复制一份,即占用的空间很小。
        可以分为软件连接和硬链接。
        软连接:也称为符号连接,即为文件或目录创建一个快捷方式。
       硬链接:给一个文件取多于一个名字,放在不同目录中,方便用户使用。
 
Ln命令参数如下:
   -f:在创建连接时,先将与目的对象同名的文件或目录删除。
   -d:允许系统管理者硬链接自己的目录。
   -i:在删除与目的对象同名文件或目录时先询问用户。
   -n:在创建软连接时,将目的对象视为一般的文件。
   -s:创建软连接,即符号连接。
   -v:在连接之前显示文件或目录名。
   -b:将在连接时会被覆盖或删除的文件进行备份。
 
帮助命令-----man
其他命令

   Who:显示系统中有那些用户在使用。
        who am i  显示当前用户
        -u:显示使用者的动作/工作
        -s:使用简短的格式来显示
        -v:显示程序版本
   Free:查看当前系统的内存使用情况
   Uptime:显示系统运行了多长时间
   Ps:显示瞬间进程的动态
   Top: 动态地显示进程
   Pstree:以树状方式显示系统中所有的进程
   Date:显示或设定系统的日期与时间。
   Last:列出目前与过去登录系统的用户相关信息
   Kill: 发送信号

    linux下kill命令小结
   Logout:退出系统
   Useradd/userdel:添加用户/删除用户
   Clear:清屏
   Passwd:设置用户密码
 
 
vi编辑器
   首先用vi命令打开一个文件
末行模式命令:
   :n,m w path/filename 保存指定范围文档( n表开始行,m表结束行)
   :q!    对文件做过修改后,强制退出
   :q     没有对文件做过修改退出
   Wq或x  保存退出
   dd   删除光标所在行
   : set number 显示行号
   :n 跳转到n行
   :s  替换字符串 :s/test/test2/g  /g全局替换 /也可以用%代替
   / 查找字符串
 
网络通信常用的命令
   Arp:网络地址显示及控制
   ftp:文件传输
   Lftp:文件传输
   Mail:发送/接收电子邮件
   Mesg:允许或拒绝其他用户向自己所用的终端发送信息
   Mutt E-mail 管理程序
   Ncftp :文件传输
   Netstat:显示网络连接.路由表和网络接口信息
   Pine:收发电子邮件,浏览新闻组
   Ping:用于查看网络是否连接通畅

       使用ICMP报文
   Ssh:安全模式下远程登陆
   Telnet:远程登录
   Talk:与另一用户对话
   Traceroute:显示到达某一主机所经由的路径及所使用的时间。
   Wget:从网路上自动下载文件
   Write:向其它用户终端写信息    Rlogin:远程登录




如今出去面试多少都会被问及个Linux的问题, 而且项目进uat后也都要发到linux下, 所以知道几个linux命令是必要的。


 第一个,也是最有用的一个:
man 察看命令详解,只要觉得哪个命令不清楚,man它就可以了.

   man ls

 ln 创建链接文件
  ln -s sourceName destName

 ls 列出文件
  -l: 逐行显示且列出详细属性
  -a: 列出所有文件包括以.开头的隐藏文件
 

 ls -lqt /bin

cat 读取文本内容
  -n: 显示行号
  -b: 显示行号且忽略空行
 
 cat -n 1.txt

wc: 计数
  -l: 行数
  -w: 字数
  -c: 字符数
  wc -l file1 file2 ......可以统计多个文件


cp 拷贝文件 目录
  -i: 交互模式,如果目标文件存在,则询问是否覆盖
  -r: 拷贝目录

  cp file1 file2 file3.... dir 表示将file1,file2...拷贝到dir  cp -r dir1 dir2 dir3... dirn 将dir1, dir2,dir3...拷贝到dirn

file 察看文件类型
  file test.sh

mv 移动文件,更改文件名
  -i: 交互模式,如果目标文件存在,则询问是否覆盖
  -r: 移动目录,跟改目录名


rm 删除文件
  -i: 交互模式,询问是否删除

  rm -r dir1 dir2 dir3...可删除多个



mkdir 创建目录
  -p: parent,父目录不存在,则创建父目录

  mkdir -p test/test

rmdir 删除目录
  等同与rm -r
  rmdir dir1 dir2 dir3 ....  rm -r dir1 dir2 dir3 ....

chmod 更改权限
 
chmod -R 777 DIR改变目录下所有文件权限为777,必须是-R


 权限 -rwxrwxrwx
         421421421
  最前面的-表示文件类型为普通文件
  接下来三位表示所有者权限
  接下来三位表示组权限
  最后三位表示其它用户权限
  如果某一权限没有被分配,用-表示。-rwxr--rwx表示组没有写和执行权限
  文件加夜有可执行权限,但表示是否容许在该目录下寻找文件

chown 改变所有者

chgrp 改变组

bg和fg命令

command &
  命令后面加&表示在后台运行

  find . -name "*.sh"&

fg 把后台进程放到前台
  
fg 1 把后台第一个作业放到前台
bg
  把前台进程放到后台
jobs
  显示后台或挂起的进程

ps 
  显示所有进程
  ps -f 显示完全信息,包括占用cpu时间,开始时间。。。

kill
  -9 强制结束
   
more 显示文本内容,每次一屏,按空格继续
find / -name "*.sh" | more


tail 从指定的位置开始显示后面得内容
  tail -f server.log 用于在server上边运行边察看日志  tail -10 dos2unix.sh 察看最后10行

head
  与tail对应
sort 排序
  -r 逆序
  -d 字典顺序
  ls | sort -r
uniq命令
tr  字符替换
  -d 删除指定字符  ls | tr -d 'log'
  ls | tr 'd' 'g'把d变成g

at time date job
  定时调度
compress
  -f 压缩文件
  -v 显示压缩比例
  compress -vf project.tar 将产生project.tar.Z且project.tar被删除


uncompress
  -f 解压缩文件
  -v 显示压缩比例
  uncompress project.tar.Z 将产生project.tar且project.tar.Z被删除

tar
  -c 创建新文档
  -x 解包
  -v 显示正在处理的文件名
  -f 取代默认的文件名
  tar -cvf project.tar project/* 把project目录下所有文件打包
  tar -xvf project.tar
 crontab 
  使用权限 : 所有使用者  
  使用方式 : 
    crontab [ -u user ] file 
  crontab [ -u user ] { -l | -r | -e } 
  crontab   指定使用者在固定时间执行程序,换句话说,即使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 
ubuntu安装软件方法
ubuntu源码安装软件
安装rpm包
awk命令   
traceroute命令:跟踪数据包到达网络主机所经过的路由
traceroute www.baidu.com


traceroute命令用于追踪从本机到指定主机的路由途径。
traceroute程序是利用 ICMP 及 IP 头部的 TTL(存活时间)来实现其功能的。每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并回复一个「ICMP time exceeded」数据包给发出者。
首先,traceroute发送一个TTL为1的数据包到目的地,当路径上的第一个路由器收到这个数据包时,将它的TTL减1。此时,TTL变为0了,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息,traceroute 收到这个消息后,便知道这个路由器存在于这个路径上。接着traceroute 再送出另一个TTL是2 的数据包,发现第2个路由器…… traceroute 每次将送出的数据包的TTL加1来发现另一个路由器,这个重复的动作一直持续到数据包抵达目的地。
当数据包恰好抵达目的地时,由于traceroute所设置的端口是一个一般应用程序都不会用的号码,所以该主机会回送一个「ICMP port unreachable」的消息,而当traceroute 收到这个端口不可达的ICMP消息时,便知道目的地已经到达了

70个经典的 Shell 脚本面试问题
几个shell脚本的面试题(一)
25道shell面试题

linux中cat、more、less命令区别详解

改权限命令chmod

passwd改密码命令

ps显示进程

查看linux系统常用的命令,Linux查看系统配置常用命令
CPU有关命令:
buffer和cache
swap
CPU负载、CPU利用
linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法
1 0