linux中:
1. 进入文件夹的命令
cd 文件夹名
(当该文件夹名称中带有空格时,应该用双引号将文件夹名称括起来,不然系统会将其当成多个cd的参数而报错,或按Tab键自动补全)
2.查看本文件下面的所有有文件信息
ls -al 即可
du常用的选项:
-h:以人类可读的方式显示
-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
-s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
-c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
ls常用
-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
-A:显示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
--file-type:与“-F”选项的功能相同,但是不显示“*”;
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。
3.查看文本信息
less [选项] 文本 #该命令通常用于查看的内容不多的文本文件,长文件会因为滚动太快无法阅读。
vim [选项] 文本 #通过编辑器进行查看
cat [选项] 文本 #该命令通常用于查看的内容不多的文本文件,长文件会因为滚动太快无法阅读。
more [选项] 文件名 #该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出- – More- – ,
#若要继续显示,按回车或空格键即可。 若要继续显示,按回车或空格键即可。
#该命令有一个常用选项 -p ,作用是显示下一屏之前先清屏。
head -n 文件名 #文本前n行
tail -n 文件名 #文本后n行 tail -f 动态查看文件
less 与more命令类似,但可以通过翻页键查看上下页的内容
-b<缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o<文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x<数字> 将“tab”键显示为规定的数字空格
more 命令参数:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
more常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
cat 命令
1.一次显示整个文件。
$ cat filename
2.从键盘创建一个文件。
$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
$cat file1 file2 > file
cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
4.动态查看文本前十行内容
tail -f
tail 参数
-b Number 从 Number 变量表示的 512 字节块位置开始读取指定文件。
-c Number 从 Number 变量表示的字节位置开始读取指定文件。
-f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。
-k Number 从 Number 变量表示的1KB 块位置开始读取指定文件。
-m Number 从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在单字节和双字节字符代码集环境中的一致结果。
-n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。
-r 从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式显示整个文件。-r 标志只有与 -n 标志一起时才有效。否则,就会将其忽略。
5.递归的复制一个文件夹中的所有以log结尾的文件或者文件夹
find good -name "*.py" -exec cp {} te \; #复制一个文件夹中的所有以log结尾的文件或者文件夹到指定文件夹
#good 和 te 是在同一个文件下的,可以根据需要跟换绝对路径
find good -name "*.py" -exec cp {} ./ \; #复制到当前文件
find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} \; 】
1)path:要查找的目录路径。
~ 表示$HOME目录
. 表示当前目录
/ 表示根目录
2)print:表示将结果输出到标准输出。
3)exec:对匹配的文件执行该参数所给出的shell命令。
形式为command {} \;,注意{}与\;之间有空格
4)ok:与exec作用相同,
区别在于,在执行命令之前,都会给出提示,让用户确认是否执行
5)|xargs 与exec作用相同 ,起承接作用
区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等
6)options :表示查找方式
options常用的有下选项:
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-prune #忽略某个目录
find <dir> -name <expression> -exec <command> {} \;
dir :检索路径
expression: 表达式(通用模式,不是正则表达式)
command: 二级命令
{} : 表示find 每检索出来一条的替代符号,(固定格式)
\; (固定格式)
另:{} \; 这两个固定格式之间是有空格的
实例转:https://blog.csdn.net/l_liangkk/article/details/81294260
6.更改文件的所有者
chown [-R] 所有者名称 文件或者目录
-R: 进行递归的持续更改。也即连同子目录下的所有文件目录都更新成为这个用户组之意,常常用在更改某一目录内所有的文件情况
7.SHH登录 192.168.2.1端口号为9000的root用户的机器
ssh root@ 192.168.2.1 -p 9000
默认使用当前系统用户 登录:ssh 【IP地址】
例子:ssh 192.168.249.133
指定 用户 登录:ssh 【用户名】@【IP地址】
例子:ssh root@192.168.249.133
指定 端口号 登录:ssh 【用户名】 @【IP地址】 -p 【端口号】
例子:ssh root@192.168.249.133 -p 22
秘钥生成 ssh-keygen –t rsa
[root@localhost ~]# ssh-keygen -t rsa <== 建立密钥对,-t代表类型,有RSA和DSA两种
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <==密钥文件默认存放位置,按Enter即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 生成的私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 生成的公钥
root 用户的目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件,其中id_rsa 为私钥,id_rsa.pub 为公钥。
8.解压一个压缩包到当前目录中
tar -zxvf 压缩包名
tar 命令详解
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
9.给某个文件加上写权限
chmod a+w 文件名 #所有人用户(包括u g o)
chmod u+w 文件名 #文件拥有者
chmod g+w 文件名 #用户组
chmod 0+w 文件名 #其他用户
chmod
u 表示该文件的拥有者[user],
g 表示与该文件的拥有者属于组(group),
o 表示其他用户[other],
a 表示这三者皆是[all](常用)
+ 表示增加权限(常用)
- 表示取消权限(常用)
= 表示唯一设定权限。
r 表示有可读取的权限,
w 表示有可写入的权限,
x 表示有可执行的权限,
X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更 (常用)
--help : 显示帮助
--version : 显示版本
r=4,
w=2,
x=1
rwx属性则4+2+1=7;
rw-属性则4+2=6;
r-x属性则4+1=5
10.查看网络状态
ifconfig #查看网络配适器
netstat #显示网络各种情况的命令
ping #查看网络连接状态
ifconfig的输出内容
1. Link encap ←
2. HWaddr ←MAC地址
3.inet addr ←IP地址(IPV4)
4. Bcast ←广播地址
5. Mask ←衍码
6. inet6 addr ←IP地址(IPV6)
7. UP ←启动中
8. BROADCAST ←广播地址有效
9. RUNNING ←动作
10. MTU ←网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)
11. Metric ←
12. RX packets ←受信包数
13. TX packets ←送信包数
14. collisions ←
15. interrupt ←IRQ号码
16. Baseaddress ←I/O地址
17. 还可以up(开启)和down(关闭)某个网络接口(网卡)
netstat 主要的选项:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ipconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
Ping命令的主要选项如下:
-c 数目在发送指定数目的包后停止。
-d 设定SO_DEBUG的选项。
-f 大量且快速地送网络封包给一台机器,看它的回应。
-I 秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-l 次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
-q 不显示任何传送封包的信息,只显示最后的结果。
-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
-s 字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
11.如何终止进程
kill 进程号
仅动态查看某个进程的状态
top #查看动态进程
top -p 23539 #其中23539是进程号\
ps :静态查看进程的统计信息;
a:显示终端下所有进程信息,包括其他用户的进程
u:显示进程的拥有者
x:显示当前用户所在终端下的进程信息,和a一起用,显示所有进程
-e:显示系统内所有进程信息
-l:长格式显示
-f:完整的格式显示
ps -aux 显示结果:
USER(拥有者 ) PID(进程号) %CPU (占用cpu百分比) %MEM (占用内存百分比)
VSZ (占用的虚拟内存的大小) RSS(驻留内存大小) TTY( 终端) STAT(进程状态) START(开始时间)
TIME( 运行时间) COMMAND(命令)
STAT:进程状态
R:该进程正在运行
S:休眠进程
Z:僵尸进程,实际上该进程已经终止,但是它的父进程却无法正常终止它,造成僵尸进程的状态
T:该进程正在跟踪或者已经停止
12.搜索Python进程的进程号
ps -ef | grep python
pidof python #pidof 用于查找正在运行的程序的进程 ID 第一串数字为进程号
ps [选项]
下面对命令选项进行说明:
-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
a 显示终端上的所有进程,包括其他用户的进程。
r 只显示正在运行的进程。
u 以用户为主的格式来显示程序状况。
x 显示所有程序,不以终端机来区分。
grep [options][options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pidof
-s 表示只返回1个 pid
-x 表示同时返回运行给定程序的 shell 的 pid
-o 表示告诉 piod 表示忽略后面给定的 pid ,可以使用多个 -o 。
13.查看当前用户名称
w
who
whoami
管理用户组(group)的工具或命令;
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
系统中用户的查看
id ##查看指定用户id信息
id [参数]
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户所在的所有组的id
-n ##显示名字而不显示id数字
su - 用户名称 #切换用户
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
1.用户的建立
useradd ##建立用户的,建立用户时,读取/etc/login.defs 文件内容确定规则
useradd -u 6666 westos ##指定用户uid为6666
useradd -g 2018 westos ##指定用户初始组id,“2018用户组必须是存在的”
useradd -G 2018 westos ##指定用户的附加组id “2018用户组必须存在”
useradd -c “hello” westos ##指定用户的说明
useradd -d /home/lee westos ##指定用户的家目录
useradd -s /bin/sh westos ##指定用户的默认shell
注意:
可用watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'命令来监控用户的属性信息
2.用户的删除
userdel
userdel shr ##删除用户但不删除用户的配置文件
userdel -r shr ##删除用户并删除用户的配置文件
3.更改用户信息
usermod
usermod -l 新名称 westos ##更改用户的名称
usermod -u 6666 westos ##更改用户uid
usermod -g 24 westos ##更改用户的初始组
usermod -G 5555 westos ##更改用户的附加组
usermod -aG 66 westos ##添加用户的附加组
usermod -G “” westos ##删除用户所有附加组的身份
usermod -c “hahahah” westos ##指定用户说明文字
usermod -d /home/lee westos ##更改用户家目录的指向
usermod -md /home/lee westos ##更改用户家目录
usermod -s /bin/sh westos ##更改用户的shell
usermod -L westos ##冻结用户
usermod -U westos ##解锁用户
14.查看用户的身份,所属组等信息
id
cat /etc/passwd #进入文件中查看 所有文件用户的信息
cat /etc/group #进入文件中查看 查看用户组
未完。。。。待续