Linux命令使用手册

ls命令

ls命令是列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,可能是文件也可能是文件夹。

“ls -l”命令以详情模式(long listing fashion)列出文件夹的内容。

“ls -a”命令会列出文件夹里的所有内容,包括以”.”开头的隐藏文件。

注意:在Linux中,文件以“.”开头的就是隐藏文件,并且每个文件,文件夹,设备或者命令都是以文件对待。ls -l 命令输出:
d (代表了是目录).
rwxr-xr-x 是文件或者目录对所属用户,同一组用户和其它用户的权限。
上面例子中第一个ravisaive 代表了文件文件属于用户ravisaive
上面例子中的第二个ravisaive代表了文件文件属于用户组ravisaive
4096 代表了文件大小为4096字节.
May 8 01:06 代表了文件最后一次修改的日期和时间.
最后面的就是文件/文件夹的名字

更多”ls”例子请查看15 linux中ls命令实例

lsblk命令

“lsblk”就是列出块设备。除了RAM外,以标准的树状输出格式,整齐地显示块设备。

“lsblk -l”命令以列表格式显示块设备(而不是树状格式)。

注意:lsblk是最有用和最简单的方式来了解新插入的USB设备的名字,特别是当你在终端上处理磁盘/块设备时。

md5sum命令

“md5sum”就是计算和检验MD5信息签名。md5 checksum(通常叫做哈希)使用匹配或者验证文件的文件的完整性,因为文件可能因为传输错误,磁盘错误或者无恶意的干扰等原因而发生改变。

dd命令

“dd”命令代表了转换和复制文件。可以用来转换和复制文件,大多数时间是用来复制iso文件(或任何其它文件)到一个usb设备(或任何其它地方)中去,所以可以用来制作USB启动器。

uname命令

“uname”命令就是Unix Name的简写。显示机器名,操作系统和内核的详细信息。
注意: uname显示内核类别, uname -a显示详细信息。上面的输出详细说明了uname -a
“Linux“: 机器的内核名
“tecmint“: 机器的节点名
“3.8.0-19-generic“: 内核发布版本
“#30-Ubuntu SMP“: 内核版本
“i686“: 处理器架构
“GNU/Linux“: 操作系统名

sudo命令

“sudo”(super user do)命令允许授权用户执行超级用户或者其它用户的命令。通过在sudoers列表的安全策略来指定。

root@tecmint:~# sudo add-apt-repository ppa:tualatrix/ppa

注意:sudo 允许用户借用超级用户的权限,然而”su”命令实际上是允许用户以超级用户登录。所以sudo比su更安全。
并不建议使用sudo或者su来处理日常用途,因为它可能导致严重的错误如果你意外的做错了事,这就是为什么在linux社区流行一句话:
“To err is human, but to really foul up everything, you need root password.”

ll 指令的显示的信息为(当前目录下只有jacksdir一个目录)

1
drwxr-xr-x 3 jacks hdfs 4096 4月  14 16:19 jacksdir

上述信息分别表示:权限(drwxr-xr-x 3)、所属用户(jacks)和组(hdfs)、大小(4096)、时间(4月 14 16:19)、名称(nameservice1)。

权限中的字母一共有10位数:
第1位有两种选择:-表示是文件,d表示是目录。此处是d,表示jacksdir是目录;
第2位到第4位rwx表示的是所有者(所属用户hdfs)的权限;
第5位到第7位r-x表示的是组(hdfs)的权限;
第8位到第10位r-x表示的是其他人(other)的权限;
另外,
   r 表示文件可以被读(read)
   w 表示文件可以被写(write)
   x 表示文件可以被执行(如果它是程序的话)
   - 表示相应的权限还没有被授予

chown 修改文件和文件夹的用户和用户组属性

该指令需要在root权限下使用。

  1. 要修改文件hh.c的所有者.修改为jacks的这个用户所有
    chown jacks hh.c
    这样就把hh.c的用户访问权限应用到jacks作为所有者

  2. 将目录 /tmp/sco 这个目录的所有者和组改为jacks和组net,-R参数是遍历其子文件
    chown -R jacks:net /tmp/sco

chmod 修改文件和文件夹读写执行属性

查看当前文件文件temp的权限信息:

1
2
3
ll | grep temp

-rw-rw-r-- 1 root root 4405 3月 17 11:50 temp

修改文件权限的指令:

1
chmod o+w temp

表示给文件temp授予其他人写权限,现在查看temp的权限信息:

1
-rw-rw-rw-  1 root root      4405  3月 17 11:50 temp

我们发现第9位多出了一个w。

其中参数表示的意义为:
  u 代表所有者(user)
  g 代表所有者所在的组群(group)
  o 代表其他人,但不是u和g (other)
  a 代表全部的人,也就是包括u,g和o
  r 表示文件可以被读(read)
  w 表示文件可以被写(write)
  x 表示文件可以被执行(如果它是程序的话)
  其中:rwx也可以用数字来代替
  r ————4
  w ————2
  x ————1
  - ————0  行动:
  + 表示添加权限
  - 表示删除权限
  = 表示使之成为唯一的权限  当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
  -rw——- (600) 只有所有者才有读和写的权限
  -rw-r–r– (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
  -rwx—— (700) 只有所有者才有读,写,执行的权限
  -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
  -rwx–x–x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
  -rw-rw-rw- (666) 每个人都有读写的权限
  -rwxrwxrwx (777) 每个人都有读写和执行的权限

#wget
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。

#tar
tar [-cxtzjvfpPN] 文件与目录 ….
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
   例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
   『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
–exclude FILE:在压缩的过程中,不要将 FILE 打包!

范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
上述指令在执行的时候,会显示一个警告讯息:
『tar: Removing leading `/‘ from member names』那是关於绝对路径的特殊设定。

范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N ‘2005/06/01’ -zcvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -


ubuntu

dpkg –list

浏览已安装的程序。要查看已安装的软件包列表,请输入以下命令。请注意你希望卸载的软件包的名称。

sudo apt-get –purge remove

卸载程序和所有配置文件。在终端中输入以上命令,把替换成你希望完全移除的程序

sudo apt-get remove

只卸载程序。如果你移除程序但保留配置文件,请输入以上命令

小技巧

当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。
命令格式:command &

centos中查看用户和用户组

用户列表文件:/etc/passwd
用户组列表文件:/etc/group
查看系统中有哪些用户:cut -d : -f 1 /etc/passwd
查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
查看用户操作:w命令(需要root权限)
查看某一用户:w 用户名
查看登录用户:who
查看用户登录历史记录:last

参考

文哥博客-linux常用基本命令

0%