目录
参考
多用户登录 Linux 原因:
用户登录linux的本质是开启一个shell进程版,例如bash进程
su & su -
# dumpe2fs /dev/sda3|grep -i created
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem created: Mon Apr 1 19:41:00 2019
查看系统版本
# 查看Linux内核版本命令(两种方法):
cat /proc/version
uname -a
# 查看Linux系统版本的命令(3种方法):
## 即可列出 ==所有版本信息:适用于所有的Linux发行版,包括RedHat、SUSE、Debian…等发行版。
lsb_release -a
## cat /etc/redhat-release,这种方法只适合Redhat系的Linux:
cat /etc/redhat-release
# CentOS release 6.5 (Final)
## 3.适用于所有的Linux发行版。
cat /etc/issue
查看软件版本
# gcc
gcc -v
# glibc
## glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,
## 几乎其它任何运行库都会依赖于glibc。
ldd --version
Linux 服务的启停
# 查看所有服务
chkconfig --list
# 查看服务状态
service xxxx status
# 服务启停
service xxxx start/stop/restart
#启动某服务
systemctl start tomcat.service
# 停止某服务
systemctl stop tomcat.service
参考:Linux学习笔记(3)linux服务管理与启停(开机自启与自定义服务)
cd /etc/sysconfig/network-scripts
# 查看系统 所有用户
cat /etc/passwd
# 单个用户的删除
userdel 用户名
## 删除用户 同时 删除文件
userdel -r # (-r, --remove)
# 删除用户的家目录和邮件池(文件),包括它们自身。
# 必须搜索和手动删除其他文件系统下的相关文件; 谨慎使用 -f 选项;
# 删除多个用户
id // 可以显示真实有效的用户ID(UID)和组ID(GID)。
usermod // 用于修改用户的基本信息。
useradd // 用于 Linux中创建的新的系统用户。
groupadd // 用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
# 更改root密码
sudo passwd root
# 批量更改用户密码
cat /etc/passwd | tail -100 |grep 'zx' |cut -d : -f 1 >/tmp/chpwd_zx
vim /tmp/chpwd_zx
## 格式: 账号:密码
chpasswd < /tmp/chpwd_zx
#1. 查看到进程占用的端口号
netstat -anp | grep pid
# 查看80端口服务端socket占用状况 PID
netstat -lpn | grep 80
#2. 查看8000端口的使用情况
lsof -i:8000
#3. 查看PID为46778的进程服务运行命令的 目录和命令等信息
ll /proc/46778 # 查看服务目录
查看服务及占用
#1. 抓取shop服务 PID
ps -ef |grep shop
#2. 查看shop服务占用的端口号 --最后一栏为 PID;
netstat -npl | grep shop
杀死 该用户的所有进程/服务
#1. 结束所有username的进程(若无效,使用以下方法)
killall -u username
#2. ps
# ^username 表示从一行开始匹配 username;
# xargs 就是用来把 cut 后的输出逐个以空白符分割后输给 kill。
ps -ef | grep ^username | cut -c 10-15 | xargs kill -9
#3. pkill
pkill -9 -u username
其他命令
w // 用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。
top // 可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
ps // 用于报告当前系统的进程状态。
kill // 用来删除执行中的程序或工作。
pkill // 可以按照进程名杀死进程。
pstree // 以 树状图 的方式展现进程之间的派生关系,显示效果比较直观。
killall // 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。
收集记录各种日志的查看方法;
用于显示用户最近登录信息;
last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f <记录文件> 指定记录文件。
-n <显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
last | grep reboot # 重启
last | grep shutdown # 关机
## 注意:
'|' :# 管道符;
# 用于连接两个命令,将左侧的结果作为右侧命令的输入;
# 列出所有的历史记录:
history
# 只列出最近10条记录:
history 10 (注,history和10中间有空格)
# 使用命令记录号码执行命令,执行历史清单中的第99条命令
!n #(!和n中间没有空格)
# 重复执行上一个命令
!!
# 执行最后一次以rpm开头的命令
# (!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
!rpm
# 逐屏列出所有的历史记录:
[zzs@linux]# history | more
# 立即清空history当前所有历史命令的记录
history -c
tail
-f
常用于查阅正在改变的日志文件。tail [参数] [文件]
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
常用命令
## tail 倒序查看
tail -n 10 test.log # 查询日志尾部最后10行的日志;
tail -n +10 test.log # 查询10行之后的所有日志;
tail -100f test.log # 实时监控100行日志;
## head 正序查看
head -n 10 test.log # 查询日志文件中的头10行日志;
head -n -10 test.log # 查询日志文件除了最后10行的其他所有日志;
查看 实时更新日志
#1. 实时查看 日志更新
tail -f /var/log/messages
watch -d -n 1 cat /var/log/messages
# -d表示高亮不同的地方,-n表示多少秒刷新一次。
注:
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容;
若终止输出,按 Ctrl+C 即可。
除此之外还有more, less ,dmesg|more;
# 这样就分页打印了,通过点击空格键翻页
cat -n test.log |grep "debug" |more
用于连接文件并打印到标准输出设备上。
tac :倒序查看;
cat [-AbeEnstTuv] [--help] [--version] fileName
cat /var/log/syslog
cat /var/log/*.log
cat -n test.log |grep "debug" # 查询关键字的日志
可以用于制作镜像文件;
watch命令以周期性的方式执行给定的指令,指令输出以全屏方式显示。
watch 监测一个命令的运行结果。
-n:指定指令执行的间隔时间(秒);
-d:高亮显示指令输出信息不同之处;
-t:不显示标题。
## 常用
watch uptime
watch -t uptime
watch -d -n 1 netstat -ntlp
watch -d 'ls -l | fgrep goface' # 监测goface的文件
watch -t -differences=cumulative uptime
watch -n 60 from # 监控mail
watch -n 1 "df -i;df" # 监测磁盘inode和block数目变化情况
linux日志文件说明:
– 系统不同,目录名称可能不同;
/var/log/message # 系统启动后的信息和错误日志,包含mail、corn、daemon、kern和auth等;
/var/log/secure # 与安全相关的日志信息
/var/log/maillog # 与邮件相关的日志信息
/var/log/cron # 与定时任务相关的日志信息
/var/log/spooler # 与UUCP和news设备相关的日志信息
/var/log/boot.log # 守护进程启动和停止相关的日志消息
/var/log/wtmp # 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
/var/log/lastlog # 记录所有用户的最近信息。
# 非文本文件,可以使用lastlog进行查看。
/var/log/yum.log # 包含使用yum安装软件包的信息。
# all 所有
-a
# directory 目录,domain name 域名
-d
# fource 强制,filename 文件名
-f
# halt 关停
-h
# inquiry 询问,install 安装
-i
# keep 保持
-k
# list 列出,listen 监听,login-shell 登陆核的方式
-l
# mode 模式
-m
# line number 行号,internet protocol 即 ip 地址
-n
# parents 父节点
-p
# query 查询
-q
# recur 递归,reboot 重启,remove 移除
-r
# tcp 一种连接方式
-t
# update 更新,udp 一种连接方式,user 用户
-u
# version 版本,verbose 冗长信息
-v
# yes 过程中 yes
-y
ssh // 是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。
screen // 是一款由GNU计划开发的用于命令行终端切换的自由软件。
clear // 用于清除当前屏幕终端上的任何信息。
who // 显示当前登录系统的用户信息。
date // 显示或设置系统时间与日期。
yum // 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
rpm // rpm软件包的管理工具。
apt-get // Debian Linux发行版中的APT软件包管理工具。
所有基于Debian的发行都使用这个包管理系统。
deb包可以把一个应用的文件包在一起,大体如同 Windows上的安装文件。
ctrl + r //搜索最近输入的相关命令; 先按快捷键,再输入关键字;
不同颜色文件代表不同类型的文件,具体如下:
命令 | 解释 |
---|---|
cat | |
chattr | |
chgrp | |
chmod | |
chown | 改变某个文件或目录的所有者和所属的组; |
cksum | |
cmp | |
diff | |
diffstat | |
file | |
find | 用来在指定目录下查找文件。 |
git | |
gitview | |
indent | |
cut | |
ln | |
less | |
locate | 用来查找文件或目录。 |
lsattr | |
mattrib | |
mc | |
mdel | |
mdir | |
mktemp | |
more | |
mmove | |
mread | |
mren | |
mtools | |
mtoolstest | |
mv | 为文件或目录改名、或将文件或目录移入其它位置。 ----重命名 |
od | |
paste | |
patch | |
rcp | scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 |
scp | 用于 Linux 之间复制文件和目录。 scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 |
rm | |
slocate | |
split | |
tee | |
tmpwatch | |
touch | |
umask | |
which | |
cp | 复制文件或目录; 递归复制:cp -rf code/DBUTILS/ dbuitlds |
whereis | |
mcopy | |
mshowfat | |
rhmask | |
awk | |
read | |
updatedb |
head // 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
tail // 用于输入文件中的尾部内容。tail命名默认在屏幕上显示指定文件的末尾10行。
more // 用来浏览文件档案的内容(只能向前浏览)。
less // 用来浏览文字档案的内容,允许用户向前或向后浏览文件。
使用该命令时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
常用命令
unlink // 用于系统调用函数 unlink 去删除指定的文件。
rename // 用字符串替换的方式批量改变文件名。
cat // 连接文件并打印到标准输出设备上,cat经常用来显示文件的内容。
touch // 有两个功能:
一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;
二是用来创建新的空文件。
ln // 用来为文件创建连接,连接类型分为硬连接和符号连接两种,
默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项(注意:符号链接文件不是一个独立的文件;
它的许多属性依赖于源文件,所以给符号链接文件设置存取权限时没有意义的);
使用实例
# ln ======
## 源文件:指定连接的源文件。如果使用-s选项创建符号连接,则“源文件”可以是文件或者目录。
## 创建硬连接时,则“源文件”参数只能是文件;
## 目标文件:指定源文件的目标连接文件; -- 目的地,要用的地方;
ln [参数][源文件或目录][目标文件或目录]
## 执行该命令后,/usr/mengqc/mub1代表的路径将存放在名为/usr/liu/abc的文件中。
ln -s /usr/mengqc/mub1 /usr/liu/abc ## 软连接 使用最多; -s 软连接;
## 注意后面的“/” 是将目录里所有的文件链接过去,必须加上,否则,建立的目录显示颜色异常,还不能正常访问,如cd 进不去
#: 使用 ==上一级目录== 将需要的文件夹连接到该目录下
setfacl // 用来变更文件或目录的权限。
chmod // 设置文件访问控制列表。
chgrp // 用来改变文件或目录所属的用户组。
chown // 改变某个文件或目录的所有者和所属的组,
该命令可以向某个用户授权,使该用户变成指定文件的所有者、或者改变所属的组。
(用户可以是用户或者是用户ID,用户组可以是组名或组ID。
文件可以是由空格分开的文件列表,在文件名中可以包含通配符)【只有文件主和超级用户才可以使用该命令】;
格式:
chown [-cfhvR] [--help] [--version] user[:group] file...
chown -R user[:group] file/dir
options:
-R : 处理指定目录以及其子目录下的所有文件;
cd /home/work/test\ path #正确
cd /home/work/“test path” #正确
注意:
rm -rf 目录
若中间有空格,一定要转换,否则完蛋;cd // 用来切换工作目录至 dirname。
mv // 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
rm // 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。
pwd // 以绝对路径的方式显示用户当前工作目录。
tree // 以树状图列出目录的内容。
cp // 用来将一个或过个源文件或者目录复制到指定的目的文件或目录。
ls // 用来显示目录列表,在 Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以区分不同类型的文件。
区别
FTP 基于 TCP 来传输文件,明文传输用户信息和数据。
SFTP 基于 SSH 来加密传输文件,可靠性高,可断点续传。
SCP 是基于 SSH 来加密拷贝文件,但要知道详细目录,不可断点续传
具体分析
## scp、rcp
Linux scp 命令用于 Linux 之间复制文件和目录。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
### 示例
格式: scp [可选参数] file_source file_target
## 本地 复制到 远程;
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
## 远程 复制到 本地
## scp 远程 本地
scp [email protected](或 IP):/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
## ftp
是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,
它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。
相比于HTTP,FTP协议要复杂得多。
复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;
另一个是数据链路,用来上传或下载数据。
FTP是基于TCP协议的,因此iptables防火墙设置中只需要放开指定端口(21 + PASV端口范围)的TCP协议即可。
## sftp(Secure File Transfer Protocol):
安全文件传送协议。可以为传输文件提供一种安全的加密方法。
SFTP与 FTP有着几乎一样的语法和功能。SFTP为SSH的一部份,是一种传输文件到服务器的安全方式。
在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,
SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,
所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。
但是,由于这种传输方式使用了加密/解密技术,所以 传输效率比普通的FTP要低得多。
### 其他功能
管理文件(包括查看/搜索目录,创建文件夹和组织文件,删除或重命名文件等),sftp是优秀的协议。
参考:
# 在/home目录下查找以.txt结尾的文件名
find /home -name "*.txt"
# 同上,但忽略大小写
find /home -iname "*.txt"
find . -name "***" ## 在当前目录中查找;
# 参数
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-- 无法删除文件夹;
-r 将目录及以下之档案亦逐一删除。
命令 | 解释 | 命令 | 解释 |
---|---|---|---|
ar | bunzip2 | ||
bzip2 | bzip2recover | ||
gunzip | unarj | ||
compress | cpio | ||
dump | uuencode | ||
gzexe | gzip | ||
lha | restore | ||
tar | 建立,还原备份文件的工具程序 | uudecode | |
unzip | zip | ||
zipinfo |
用途
使用
# 格式
tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>]
[-F <Script文件>][-K <文件>][-L <媒体容量>][-N <日期时间>][-T <范本文件>][-V <卷册名称>]
[-X <范本文件>][-<设备编号><存储密度>][--after-date=<日期时间>][--atime-preserve]
[--backuup=<备份方式>][--checkpoint][--concatenate][--confirmation][--delete]
[--exclude=<范本样式>][--force-local][--group=<群组名称>][--help][--ignore-failed-read]
[--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null]
[--numeric-owner][--owner=<用户名称>][--posix][--erve][--preserve-order]
[--preserve-permissions][--record-size=<区块数目>][--recursive-unlink][--remove-files]
[--rsh-command=<执行指令>][--same-owner][--suffix=<备份字尾字符串>][--totals]
[--use-compress-program=<执行指令>][--version][--volno-file=<编号文件>][文件或目录...]
# 部分options
-c或--create 建立新的备份文件。
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-f<备份文件>或--file=<备份文件> 指定备份文件。
-t或--list:列出备份文件的内容;
-v或--verbose 显示指令执行过程。
-x或--extract或--get 从备份文件中还原文件。
-z或--gzip或--ungzip 通过gzip指令处理备份文件;
# 实例
## 解压 == .tar.gz ==
tar -xzvf test.tar.gz
## 压缩
tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz
## 列出压缩文件内容
tar -tzvf test.tar.gz
## 解压 == .tar ==
tar -xzf all.tar.gz
tar xf csdn.tar -C /home/quantum6/work --解压到指定目录;
参考:grep命令
# options 参数
-d<目录>:指定文件解压缩后所要存储的目录;
-n:解压缩时不要覆盖原有的文件;
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
# 压缩
# 将mysql文件夹压缩成mysql.zip
zip -r mysql.zip mysql
# 将文件夹abc和文件def.txt压缩成一个压缩包abcdef.zip
zip -r abcdef.zip abc def.txt
# 解压缩 ==
## 解压到 /tmp 且不覆盖原有文件; -d
unzip -n test.zip -d /tmp
命令 | 解释 | 命令 | 解释 |
---|---|---|---|
col | colrm | ||
comm | csplit | ||
ed | egrep | ||
ex | fgrep | ||
fmt | grep | 用于查找文件里符合条件的字符串。 | |
fold | ispell | ||
jed | joe | ||
join | look | ||
mtype | pico | ||
rgrep | sed | ||
sort | spell | ||
tr | expr | ||
uniq | wc | ||
let |
用途:
格式 & 用法
# 格式
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
# OPTIONS
-a 或 --text : 不要忽略二进制的数据。
-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
-c 或 --count : 计算符合样式的列数。
-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
-E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
-f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F 或 --fixed-regexp : 将样式视为固定字符串的列表。
-G 或 --basic-regexp : 将样式视为普通的表示法来使用。
-h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
-i 或 --ignore-case : 忽略字符大小写的差别。
-l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。
-L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-o 或 --only-matching : 只显示匹配PATTERN 部分。
-q 或 --quiet或--silent : 不显示任何信息。
-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
-s 或 --no-messages : 不显示错误信息。
-v 或 --revert-match : 显示不包含匹配文本的所有行。
-V 或 --version : 显示版本信息。
-w 或 --word-regexp : 只显示全字符合的列。
-x --line-regexp : 只显示全列符合的列。
-y : 此参数的效果和指定"-i"参数相同。
# 实例
包含 磁盘管理 磁盘维护 相关命令;
概述
命令 | 作用 | 命令 | 作用 |
---|---|---|---|
cd | 切换当前工作目录; | mount | 用于挂载Linux系统外的文件; |
df | 文件系统的磁盘使用情况; | mmount | 挂入MS-DOS文件系统; |
dirs | 显示目录堆叠中的记录;??? | rmdir | 删除空的目录; |
du | 显示指定的目录或文件的大小; | rmt | 通过进程间通信远程控制磁带机 |
edquota | 预设会使用vi来编辑使用者或群组的磁盘配额设置; | stat | 显示inode内容; |
eject | 退出抽取式设备 | tree | 以树状图列出目录的内容; |
mcd | mtools工具指令,MS_DOS文件系统中切换工作目录; | umount | 卸载文件系统; |
mdeltree | 删除 MSDOS 格式档案及目录; | ls | 列出目前工作目录所含之文件及子目录; |
mdu | 显示MS-DOS目录所占用的磁盘空间; | quotacheck | 检查磁盘的使用空间与限制; |
mkdir | 创建子目录 | quotaoff | 关闭磁盘空间限制 |
mlabel | 设定此磁盘的标签; | lndir | 源目录底下的文件和子目录统统建立起相互对应的符号连接; |
mmd | 在MS-DOS文件系统中建立目录。 | repquota | 关闭磁盘空间限制 |
mrd | 删除MS-DOS文件系统中的目录。 | quotaon | 开启磁盘空间限制 |
mzip | 设置Zip或Jaz磁盘驱动区的保护模式以及执行退出磁盘的动作; | ||
pwd | 立刻得知您目前所在的工作目录的绝对路径名称; | ||
quota | 查询磁盘空间限制,得知已使用的空间; |
其他
mount // 用户加载文件系统到指定的加载点。
umount // 用于卸载已经加载的文件。
fsck // 用于检查并且试图修复文件系统中的错误。
df // 用于显示磁盘分区上的可使用的磁盘空间。
du // 对文件和目录磁盘使用的空间的查看。
df
文件系统的磁盘使用情况;
# 生成可读格式的磁盘使用信息;
df -h
ls
列出目前工作目录所含之文件及子目录;
ls [-alrtAFR] [name...]
可使用 * 补全目录、文件名称;
# 将 /tmp/image.iso 这个光碟的 image 档使用 loop 模式挂在 /mnt/cdrom之下
mount -o loop /tmp/image.iso /mnt/cdrom
# 卸载
# umount -v /dev/sda1 通过设备名卸载
/dev/sda1 umounted
# umount -v /mnt/mymount/ 通过挂载点卸载
/tmp/diskboot.img umounted
apachectl arpwatch dip getty
mingetty uux telnet uulog
uustat ppp-off netconfig nc
httpd ifconfig minicom mesg
dnsconf wall netstat ping
pppstats samba setserial talk
traceroute tty newaliases uuname
netconf write statserial efax
pppsetup tcpdump ytalk cu
smbd testparm smbclient shapecfg
# 网络应用
curl // 是一个利用URL规则在命令行下工作的文件传输工具。
telnet // 用于登录远程主机,对远程主机进行管理。
mail // 命令行的电子邮件发送和接收工具。
elinks // 能实现一个纯文本界面的WWW浏览器,操作方式与"lynx"类似。
# 网络测试
ping // 用于测试主机之间网络的连通性。
netstat // 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
host // 常用的分析域名查询工具,可以用来测试域名系统工作是否正常。
# 网络配置
hostname // 用于显示和设置系统的主机名称。
ifconfig // 被用于配置和显示Linux内核中网络接口的网络参数。
NetWork 配置
# 配置生效的问题
## ifconfig配置的网络只是当前临时有效, 当计算机重启之后就失效了
## 2)网络配置永久有效,在/etc/sysconfig/network-scripts/下修改网络接口配置文件:
a、service network restart 重启服务;
b、重启计算机
测试 局域网已用IP
Linux
# 如果系统没有安装nmap命令,首先安装一下
yum install -y namp
# 进行ping扫描,打印出对扫描做出响应的主机:
nmap -sP 192.168.1.0/24 # 24: 子网掩码:255.255.255.0
nmap -sP 192.168.0.*
# 仅列出指定网络上的每台主机,不发送任何报文到目标主机:
nmap -sL 192.168.1.0/24
# 探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS 22,23,25,80):
nmap -PS 192.168.1.234
# 使用UDP ping探测主机:
nmap -PU 192.168.1.0/24
# 使用频率最高的扫描选项(SYN扫描,又称为半开放扫描),它不打开一个完全的TCP连接,执行得很快:
nmap -sS 192.168.1.0/24
windows
arp -a # 局域网内与该电脑通信的主机
参考
命令 | 解释 | 命令 | 解释 |
---|---|---|---|
chfn | useradd | 可用来建立用户帐号, passwd 设定密码,userdel 删除帐号。 |
|
date | exit | ||
finger | fwhios | ||
sleep | suspend | ||
groupadd | 创建一个新的工作组,新工作组的信息将被添加到系统文件中。 | groupdel | |
groupmod | halt | ||
kill | last | ||
lastb | login | ||
logname | logout | ||
ps | nice | ||
procinfo | top | 实时显示 process 的动态; | |
pstree | reboot | ||
rlogin | rsh | ||
sliplogin | screen | ||
shutdown | rwho | ||
su | 变更为其他使用者的身份; | sudo | |
gitps | free | 显示内存状态。 | |
swatch | tload | ||
logrotate | uname | ||
chsh | userconf | ||
userdel | 删除用户 userdel -r haha |
usermod | |
vlock | who | ||
whoami | whois | ||
newgrp | 登入另一个群组。 | renice | 重新指定一个或多个行程(Process)的优先序(一个或多个将根据参数而定)。 |
skill | 送个讯号给正在执行的程序,预设的讯息为 TERM (中断) | w | 显示目前登入系统的用户信息。 |
id | 用于显示用户的ID,以及所属群组的ID。 |
# kill -9 PID
kill -9 123456
TERM(或数字9)表示“无条件终止”;
# top
## 显示更新十次后退出
top -n 10
##
# free : 显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
##
命令 | 解释 | 命令 | 解释 |
---|---|---|---|
reset | clear | ||
alias | dircolors | ||
aumix | bind | ||
chroot | clock | ||
crontab | declare | ||
depmod | dmesg | ||
enable | eval | ||
export | pwunconv | ||
grpconv | rpm | ||
insmod | kbdconfig | ||
lilo | liloconfig | ||
lsmod | minfo | ||
set | modprobe | ||
ntsysv | mouseconfig | ||
passwd | pwconv | ||
rdate | resize | ||
rmmod | grpunconv | ||
modinfo | time | ||
setup | sndconfig | ||
setenv | setconsole | ||
timeconfig | ulimit | ||
unset | chkconfig | 检查,设置系统的各种服务。 | |
apmd | hwclock | ||
mkkickstart | fbset | ||
unalias | SVGATextMode | ||
gpasswd |
参数
参数 | 含义 |
---|---|
-a | 查询所有套件; |
-b <完成阶段><套件档>+或-t <完成阶段><套件档>+ | 设置包装套件的完成阶段,并指定套件档的文件名称; |
-c | 只列出组态配置文件,本参数需配合"-l"参数使用; |
-d | 只列出文本文件,本参数需配合"-l"参数使用; |
-e <套件档>或–erase<套件档> | 删除指定的套件; |
-f <文件>+ | 查询拥有指定文件的套件; |
-h或–hash | 套件安装时列出标记; |
-i | 显示套件的相关信息; |
-i <套件档>或–install<套件档> | 安装指定的套件档; |
-l | 显示套件的文件列表; |
-p <套件档>+ | 查询指定的RPM套件档; |
-q | 使用询问模式,当遇到任何问题时,rpm指令会先询问用户; |
-R | 显示套件的关联性信息; |
-s | 显示文件状态,本参数需配合"-l"参数使用; |
-U <套件档>或–upgrade<套件档> | 升级指定的套件档; |
-v | 显示指令执行过程; |
-vv | 详细显示指令执行过程,便于排错。 |
使用实例
# 安装软件
rpm -ivh your-package.rpm
# 卸载软件
## 包名可以包含版本号等信息,但是不可以有后缀.rpm
rpm -e proftpd-1.2.8-1
rpm -e proftpd-1.2.8
rpm -e proftpd-
rpm -e proftpd
# 查找所有安装过的包含某个字符串sql的软件包
rpm -qa | grep sql
概述
源的使用
# 搜索包:
yum search 包
# 安装
yum install -y 包名
# 查询
rmp -qa | grep lsb
命令
| 命令 | 解释 |
| :--------------------------------- | :------------------------------------ |
| **yum install ?softwarename** | 安装 |
| **yum repolist** | 列出设定yum源的信息 |
| yum remove ??softwarename | 卸载 |
| **yum list ????softwarename** | 查看软件源中是否有此软件 |
| yum list all | 列出所有软件名称 |
| yum list installd | 列出已经安装的软件名称 |
| yum list available | 列出可以用yum安装的软件名称 |
| yum clean all | **清空yum缓存** |
| yum makecache | 建立 缓存 |
| yum search ???softwarename | 根据软件信息搜索软件名字 |
| yum whatprovides ??filename | 在yum源中查找包含filename文件的软件包 |
| yum update | 更新软件 |
| yum history | 查看系统软件改变历史 |
| yum reinstall ?softwarename | 重新安装 |
| yum info ?softwarename | 查看软件信息 |
| yum groups list | 查看软件组信息 |
| yum groups info ????softwaregroup | 查看软件组内包含的软件 |
| yum groups install ?softwaregroup | 安装组件 |
本地yum
# == 创建及挂载 ==
# 创建挂载目录
mkdir -p /mnt/yum
# 然后输入挂载命令(把iso镜像文件挂载到/var/rhelImage目录)
mount -o loop /home/rhel-server-6.8-x86_64-dvd.iso /mnt/yum
# 查看挂载信息(这个时候可以看到挂载的目录了)
mount
# == 配置 ==
## 目录
cd /etc/yum.repos.d/
## vim ***.repo ## *** 编辑配置文件;
[base]
name=redhat7
baseurl=file:///mnt/yum
gpgcheck=0
enabled=1
# == yum 缓存的清空与重建
yum clean all
yum makecache
网络yum
[ResilientStorage] # []必须有,内容随便
name=ResilientStorage # 名字随便
baseurl=https:....... # 网址信息
enabled=1 # 启用与否
gpgcheck=0 # 公私钥匹配;
注:
多个源的使用顺序问题
如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个?
yum配置文件: /etc/yum.conf
如果是newest,则yum会安装最新的那个版本。
如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。
如果包在两个yum源中都有,会在下面的文件中按顺序:
/var/cache/yum/x86_64/6/timedhosts.txt
查找yum源中的软件
# 查找软件
# 1
yum list python\*pip
# 2
yum list | grep php
# 安装软件
yum install xxx
ssh root@主机ip(或主机域名) 该条命令指使用root用户来登录远程主机
ssh root@主机ip + 命令 不登录主机,仅在主机执行一个命令
# contab
contab -e // 创建定时任务
* * * * * 命令 // 分、时、日、月、周(每过多长时间去执行,根据我们所设置的分、时、日、月、周)
# at 命令
# at 2:00 tomorrow // 在明天的两点去执行
at>/home/Jason/do_job // 执行结果是这种格式的
at>Ctrl + D // 退出
总体意思,明天两点执行 do_job,最终退出
注:at 命令 是一次性执行,不是循环执行,也不是周期性执行。