Linux02
man
参考CSDN
-
1.作用:
man命令用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便和实用。
-
2.格式
man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-Mpath] [-P pager] [-S section_list] [section] name ...
- 3.参数
-C config_file:指定设定文件man.conf,缺省值是/etc/man.conf。
-M path:指定了联机手册的搜寻路径, 如果没有指定则使用环境变数MANPATH的设定;如果没有使用 MANPATH,则会使用/usr/lib/man.conf内的设定;如果MANPATH是空字串,则表示使用缺省值。
-P pager:指定使用何种pager.man会优先使用此选项设定,然后是依环境变数MANPAGER设定,然后是环境变数PAGER;man缺省使用/usr/bin/less
-is。
-S section_list man:所搜寻的章节列表(以冒号分隔),此选项会覆盖环境变数MANSECT的设定。
-a man:缺省情况是在显示第一个找到的手册之后,就会停止搜寻,使用此选项会强迫man继续显示所有符合name的联机手册。
-c:即使有最新的cat page,也继续对联机手册重新作排版,本选项在屏幕的行列数改变时或已排版的联机手册损坏时特别有意义。
-d:不要真的显示联机手册,只显示除错讯息。
-D:同时显示联机手册与除错讯息。
-h:显示求助讯息然后结束程式 。
-K:对所有的联机手册搜寻所指定的字串。请注意,本功能回应速度可能很慢,如果指定section(区域)会对速度有帮助。
-m system:依所指定的system名称而指定另一组的联机手册。
man:是manual(手册)的缩写。在输入命令有困难时,可以立刻得到这个文档。例如, 如果使用ps命令时遇到困难,可以输入man
ps得到帮助信息,此时会显示出ps的手册页(man page)。
由于手册页man page是用less程序来看的(可以方便地使屏幕上翻和下翻), 所以在man page里可以使用less的所有选项。
less中比较重要的功能键有:
[q] 退出;
[Enter] 一行行地下翻;
[Space] 一页页地下翻;
[b] 上翻一页;
[/] 后跟一个字符串和[Enter]来查找字符串;
[n] 发现上一次查找的下一个匹配。
-
4.阅读手册页
手册页在很少的空间里提供了很多的信息,这里简单介绍一下大多数手册页中都有的部分内容。Linux手册页主要有九个部分:用户指令、系统调用、程序库、设备说明、文件格式、游戏、杂项、系统指令、内核。
-
5.应用实例
Linux命令中有一些基础的、重要的命令,例如ps、find、cat和ls等。下面来举一个综合应用的例子,由此可以看出man的地位在Linux中 可谓至关重要。但是,man所显示的信息却不是普通的文本,如果直接将这些文字重定向到一个文本文件,就会发现在man中高亮显示的文字就变成了两个,而 且有不计其数的制表符,使打印、编辑都变得非常不便。不过,使用下面这样一条语句就能得到ps命令打印。
#man ps | col -b | lpr
这条命令同时运用了输出重定向和管道两种技巧,作用是将ps命令的帮助信息可以直接打印出来。
Path命令
Moving between directories
- pwd
显示你目前所在的目录 - cd (切换路径)
- cd -
cd - 用来返回上一次跳转目录
如:源目录在/home/paul,使用cd跳转到/etc/hp,输入cd -会返回/home/paul
- cd -
Absolute and relative path
相对路径和绝对路径
You should be aware of absolute and relative paths in the file tree. When you type a path
starting with a slash (/), then the root of the file tree is assumed. If you don't start your path
with a slash, then the current directory is the assumed starting point.
按TAB键可以自动补全,如果文件路径、名称存在的话
- ls
列出当前路径下有啥- ls -a
list all,顾名思义是列出所有文件,包括隐藏的文件 - ls -l
查看文件详细列表信息,包括权限、大小、创建日期等等 - ls -lh
用更人性化的方式显示详细信息
- ls -a
- mkdir
创建目录- mkdir -p
如果给的路径中的文件夹不存在,会自动创建
- mkdir -p
- rmdir
当这个路径是空的时候,你可以使用该命令删除这个路径 - rmdir -p
是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
What is Linux
- Linux is kernel
I think it is mainly because of open source. Linux is modular so the developers can easily add their codes like drivers into it.
Linux03
File
-
file [filename]
在Linux中任何东西都是file,所以和后缀名没啥关系,因此需要使用该命令来判断这个文件是什么类型的- file -s
for special?
- file -s
-
touch
创建一个空的文件- touch -t
touch -t 201403210000 a1
21 March 2014
根据时间来创建一个文件(骚操作啊)
- touch -t
-
rm
删除一个文件- rm -i
让系统确认你是否删除这个文件,养成好习惯使用这个命令来删除文件。 - rm -rf
删除任何东西嘻嘻
- rm -i
-
cp [source] [filenam]/ [source] to [dir]
复制文件,包括目录什么的-
cp -r
拷贝整个目录(包括文件) -
cp -i
和rm -i差不多意思,防止覆盖
-
-
mv
用来重命名一个文件或者移动文件到另一个文件夹- mv -i
类似于删除确认,这里有重命名确认
- mv -i
-
rename
[from] [to] [filetype] 批量删除
head
用来展示文件前几行
-
head -c
c后面接一个参数,表明打印前n行
-
head -n
打印前多少比特
tail
和head差不多的用法,这里不再阐述,打印尾部
cat
展示文件内容,也可以合并多个文件到一个文件
- cat >
- 用来创建一个文件进行输入,按下ctrl+d结束
- cat fileA>fileB 用来拷贝文件内容
- cat>..<<..
后面接的是结束标识符
Lesson04
echo
用来显示一句话或者变量内容($)
echo "something" > file 也是可以的
Lesson05
useradd
- m:创建user的home目录
- d:设置user的home目录名称
- c:设置描述
sudo useradd -m -d /home/john -c "John Nash" john
通过tail -1 /etc/passwd可以查看是否创建成功
userdel
- r:删除用户的home目录
sudo userdel -r john
usermod
更改用户组
sudo usermod -c [用户组名称] [更改的用户名称]
权限项 | 文件类型 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
---|---|---|---|---|---|---|---|---|---|---|
字符表示 | r | w | x | r | w | x | r | w | x | |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 | |
权限分配 | 文件所有者 | 文件所属用户 | 其他用户 |
stat
- -c:
- %U 查看文件拥有者
- %G 查看文件用户组
- %A 查看文件权限
创建一个用户目录
sudo useradd john
sudo mkdir /home/john
sudo chown john:john /home/john
sudo chmod 700 /home/john
passwd
sudo passwd john
设置密码。。。
find
查看文件的拥有者或者用户组
chown
- chown [owner] [filename]把文件的所有者更改为owner
- chgrp [group1][filename]把文件所有组更改为group1
groups
- sudo groups [groups name]:
列出组内所有的成员 - cat /ect/group
列出所有的groups
id user
list user id and group id for a user
group
- 创建一个group
sudo groupadd [groupname] - 添加用户到用户组中
sudo gpasswd -a [username] [groupname] - 把用户从用户组中删除
sudo gpasswd -d [username] [groupname] - 删除用户组
sudo groupdel [groupname]
Linux06
- which [command]
返回这个命令所在的地址 - type [command]
判断命令是系统命令还是外部命令 - alias name =[command]
就是给一个命令起个名字,然后直接调用name - alias [name]
查看name代表的命令 - unalias [command]
撤销命名该命令 - set -x 开启命令打印
- set +x 关闭命令打印
Linux07
- $? 该变量用来存储上一条命令执行结果
Linux09
- she-bang:#!/bin/bash
- test [command] 测试然后返回执行结果?(可能是针对部分没有返回值的命令?)
- if判断语句
if []
then
else
fi
Linux10
- loop循环
for i in 1 2 4
do
echo $i
done
for counter in 'seq 1 20'
do
echo counting from 1 to 20, now at $counter
sleep 1
done
- while loop
i=100;
while [$i -ge 0];
do
echo
let i--;
done
- endless loop
while:
do
echo
sleep 1
done
- until Loop
let i=100;
until [$i -le 0];
do
echo
let i--;
done
- $1,$2,$3
参数 - $0 name of the script
- $#
参数的个数
Lesson11
lp file(s), lpr file(s)打印文件
lp /etc/profile 查询打印队列
lpq 查询一个打印机队列
lpstat 查看打印机任务
lpstat -d 查看系统默认公共打印机
lpstat -p 查看用户打印机状态
lprm [num] 把第num号任务从打印机中删除
cups 通用打印机系统(不是命令)
ip addr show 查询本地ip地址
ip route show 查询路由
ipconfig 查看当前网络配置
netstat, ip route show 指令可让你得知整个 Linux 系统的网络情况
netstat -nr 查看路路由表
host 查看某一网址的主机地址
host -t 指定要查询的记录类型。有效类型为:
ping 检查某一网址与主机之间通信是否正常
traceroute 记录下所有跳转记录
whois 查询域名描述信息