Linux

帮助文档

  • man + 指令 显示该指令的帮助文档

man page说明后面的数字中,1代表一般账号可用命令,8代表系统管理员常用命令,5代表系统配置文件格式。

进入man命令的功能后,你可以按下『空格键』往下翻页,可以按下『 q 』按键来离开man的环境。

切换用户

  • su用于用户之间的切换。
    • su命令不加参数,默认切到root用户,需要输入root用户密码进行验证
    • su命令可以加一个“-”再加上用户名,此时,不但身份变化了,同时也拥有了此用户的“用户环境”
  • sudo用于普通用户可以使用root权限来执行指定命令。
    • u username/#uid不加此参数,代表要以root的身份执行指令,而加了此参数,可以以username的身份执行指令(#uid为该username的使用者号码)
    • 执行sudo -u <用户名> <命令>, 将允许当前用户,提权到<用户名>的身份,再执行后面的<命令>, 即使<命令>原本需要root权限。

su 命令与 su - 命令之间有什么区别呢?

前者在切换到 root 用户之后仍然保持旧的(或者说原始用户的)环境,而后者则是创建一个新的环境(由 root 用户 ~/.bashrc 文件所设置的环境),相当于使用 root 用户正常登录(从登录屏幕登录)。

Mac只能使用sudo su命令

终端利用ssh登录远程服务器

其他命令

  • 显示日期与时间的命令: date

  • 显示日历的命令: cal(calendar) cal [month] [year]

  • 简单好用的计算器: bc
    quit <==离开 bc 这个计算器

  • who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。

  • clear 清屏

  • last 查看最近的登录历史记录

  • [Tab]按键
    『命令补全』与『文件补齐』

  • [Ctrl]-c 按键
    中断目前程序

  • [Ctrl]-d 按键 直接离开文字接口(相当于输入exit啊!)。

  • history 查看历史命令

    history 10 显示最近10条命令

  • ping 用来测试主机之间网络的连通性

  • exit 退出shell

  • 将数据同步写入硬盘中的命令: sync

  • 惯用的关机命令: shutdown

  • 重新启动,关机: reboot, halt, poweroff

在终端机环境中,可依据提示字符为$或#判断为一般账号或root账号;

取得终端机支持的语系数据可下达『echo $LANG』或『locale』命令

文件属性与权限

  • chgrp 改变文件所属群组
  • chown 改变文件拥有者
  • chmod 改变文件的权限

目录

在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。

文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。

在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点 .. 来表示。

  • . :代表当前的目录,也可以使用 ./ 来表示;
  • .. :代表上一层目录,也可以 ../ 来代表。
    如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)。即以默认方式查找时,不显示该目录或文件。

绝对路径和相对路径

绝对路径

由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc;

相对路径

相对于目前路径的文件名写法。 例如 ./home/dmtsai等等。反正开头不是 / 就属于相对路径的写法。

而你必须要了解,相对路径是以你当前所在路径的相对位置来表示的。举例来说,你目前在 /home 这个目录下, 如果想要进入 /var/log 这个目录时,可以怎么写呢?

cd /var/log (absolute)

cd ../var/log (relative)

. :代表当前的目录,也可以使用 ./ 来表示;

.. :代表上一层目录,也可以 ../ 来代表。

实例1:如何先进入/var/spool/mail/目录,再进入到/var/spool/cron/目录内?

命令:

cd /var/spool/mail

cd ../cron

实例2:网络文件常常提到类似./run.sh之类的数据,这个指令的意义为何?

说明:

由于指令的执行需要变量的支持,若你的执行文件放置在本目录,并且本目录并非正规的执行文件目录(/bin, /usr/bin等为正规),此时要执行指令就得要严格指定该执行档。./代表本目录的意思,所以./run.sh代表执行本目录下, 名为run.sh的文件。

处理目录的常用命令

  • ls: 列出目录

ls filename 列出指定目录下的文件或目录

-a 列出目录下的所有文件,包括以 . 开头的隐含文件
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。

ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。

  • cd:切换目录
#使用 mkdir 命令创建 runoob 目录
[root@www ~]# mkdir runoob

#使用绝对路径切换到 runoob 目录
[root@www ~]# cd /root/runoob/

#使用相对路径切换到 runoob 目录
[root@www ~]# cd ./runoob/

# 表示回到自己的家目录,亦即是 /root 这个目录
[root@www runoob]# cd ~

# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@www ~]# cd ..

cd - 回到先前的目录

. 代表此层目录
.. 代表上一层目录

  •     代表前一个工作目录
    

~ 代表『目前使用者身份』所在的家目录
~account 代表 account 这个使用者的家目录(account是个帐号名称)

  • pwd:显示目前的目录

  • mkdir:创建一个新的目录

-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

#递归创建多个目录 
mkdir -p test2/test22
  • rmdir:删除一个空的目录

  • rm: 移除文件或目录
    该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

 -r, -R   指示rm将参数中列出的全部目录和子目录均递归地删除。
# 删除任何.log文件;删除前逐一询问确认
rmr  -i *.log
  • mv
# 文件改名
mv  test.log test1.txt 讲test.log改为test1.txt
rename 可以用来批量更改文件名
# 移动文件
mv test1.txt test3
  • touch: 新建文件

  • stat: 输出文件的相关信息

文件内容查看

Linux系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容

  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!

  • nl 显示的时候,顺道输出行号!

  • more 一页一页的显示文件内容

  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

  • head 只看头几行

  • tail 只看尾巴几行

  • 以二进制的方式读取文件内容

  • cat 用于连接文件并打印到标准输出设备上

-n 或 --number:由 1 开始对所有输出的行数编号。

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2
  • tac 反向列示
    tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!
  • head
#显示前20行
head -n 20 /etc/man_db.conf
  • cp 复制文件或目录
    复制/etc/这个目录下所有内容到/tmp下面
cp /etc/ /tmp
  • cmp 用于比较两个文件是否有差异
    当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。
cmp prog.o.bak prog.o 
  • file 用于辨识文件类型。

通过file指令,我们得以辨识该文件的类型。

打包压缩

打包:将一大堆文件或目录变成一个总的文件【tar命令】

压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】

gzip是linux自带的压缩文件命令,它的压缩比大概能达到60%-70%,比zip的压缩比更高。使用gzip压缩默认会在文件后加上.gz后缀并将源文件删除。gunzip是解压缩命令。

  • gzip

gzip * 把当前目录下的每个文件压缩成.gz文件
-d或--decompress或----uncompress:解开压缩文件

  • gunzip 解压文件

bzip2命令是.bz2文件的压缩程序。

bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

  • tar
    习惯上以.tar后缀代表tar包,用xxx.tar.gz或.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。
#将img1和img2两个文件夹打包成img.tar,仅打包不压缩
tar img.tar img1 img2

#将img1和img2两个文件夹打包成img.tar.gz,打包后,以gzip压缩
tar -zcvf img.tar.gz img1 img2

#将img1和img2两个文件夹打包成img.tar.bz2,打包后,以bzip2来压缩
tar -jcvf img.tar.bz2 img1 img2

tar -xvf file.tar
tar -zxvf file.tar.gz

指令与文件的查找

  • which 指令名 查找可执行命令所在的路劲
  • whereis 指令名
  • find 用来在指定目录下查找文件
将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

# find . -name "*.c"
将目前目录其其下子目录中所有一般文件列出

# find . -type f
将目前目录及其子目录下所有最近 20 天内更新过的文件列出

# find . -ctime -20

文本搜索

  • grep
    强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

磁盘管理

Linux磁盘管理常用三个命令为df、du和fdisk。

  • df:列出文件系统的整体磁盘使用量
  • du:检查磁盘空间使用量
  • fdisk:用于磁盘分区

内存管理

  • free

Mac下

  • top -l 1 | head -n 10 | grep PhysMem

你可能感兴趣的:(Linux)