基础知识
- 挂载:系统目录与硬盘分区映射的过程
- 挂载点:被挂在的目录(windows系统中的盘符)
- 挂载类型:手动、自动
基本操作
- 增
- 创建目录
mkdir dir_name
mkdir -p dir1/dir2/dir3
(创建层级目录,如果过程目录不存在,需要加-p
) - 创建文件
touch file_name
(对已存在的文件touch,会改变修改时间) - 创建用户(此命令需要root账户)
useradd -g gid -d home_dir -u user_name
(gid组id,-d定义home文件位置,-u用户名) - 创建组(此命令需要root账户)
groupadd group_name
- 创建目录
- 改
- 移动目录或文件并改名字(不加新名字则不改名)
mv dir1/dir2 dir3/dir4/new_name
(将dir1里面的dir2移动到dir3里的dir4,并重命名为new_name) - 追加文件内容
echo file_content > file_name
双箭头也可以>>
- 复制目录或文件并改名字(不加新名字则不改名)
cp -R dir1/dir2 dir3/dir4/new_name
(将dir1里面的dir2复制到dir3里的dir4,并重命名为new_name) - 修改用户(此命令需要root账户)
useradd -g gid -d home_dir -u user_name -l new_username
(gid组id,-d定义home文件位置,-u用户名,-l新用户名) - 修改用户密码
passwd user_name
- 修改组(此命令需要root账户)
groumod -g gid -n new_group_name
(-g修改组id,-n修改组名)
- 移动目录或文件并改名字(不加新名字则不改名)
- 删
- 删除目录或文件
rm -rf file_name
(-r 递归删除,-f 强制删除,不用提示) - 删除用户(此命令需要root账户)
userdel -r user_name
- 删除组(此命令需要root账户)
groudel group_name
(组内有用户时,删不了)
- 删除目录或文件
查
查看文件内容
more(逐行查看)、less、cat、head(内容前几行)、tail(内容后几行)、wc(文件多少行)
- 对有内容输出的指令,都可以追加重定向
cat file_name1>> file_name2(将文件1的内容追加到了文件2,不会输出)
- 对有内容输出的指令,都可以追加重定向
查看文件详细信息
ls -l drwxr-xr-x 2 millions staff 68 9 5 14:53 dir3 -rw-r--r--@ 1 millions staff 968 9 5 17:09 file1.txt
- 权限信息
第一位的
-(普通文件)
d(目录)
l(软链接文件)
rwx(读写执行)第一列:主人权限,第二列:同组权限,第三列:其他组权限 - 其他信息
数字(硬链接数量)
主人
组别
文件大小
- 权限信息
权限操作
- 相对设置权限
chmod u+/-rwx file_name
给用户设置权限chmod g+/-rwx file_name
给同组组设置权限chmod o+/-rwx file_name
给其他组设置权限chmod u+/-rwx, o+/-rwx, g+/-rwx file_name
同时给多个对象设置权限
- 数字绝对权限设置(不是再添加或减少权限,而是直接覆盖)
A(用户)B(同组)C(其他组)
0 没有权限
1 执行权限
2 写权限
3 写、执行权限
4 读权限
5 读、执行权限
6 读、写权限
7 全部权限
chmod ABC file_name
<ol><li> - !(强行写保存,如果有对上级目录的权限,强行可以成功)
grep 命令
grep content path
会将查找内容所在行输出
which 命令( 查询系统命令所在文件)
which cd
/usr/bin/cd
查看系统活跃进程
ps -a
1.查进程
ps命令查找与进程相关的PID号:
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。
最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
ps aux | grep program_filter_word,ps -ef |grep tomcat
ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。
2.杀进程
使用kill命令结束进程:kill xxx
常用:kill -9 324
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME
3.进入到进程的执行文件所在的路径下,执行文件 ./文件名
查看系统性能
top
查看文件大小(最小单元4k)
du -h file_name
查看当前用户
whoami
cd ~ 切换到用户根目录
cd / 切换到系统根目录
su - 切换到root账户
su root 切换到root身份,目录不变
用户操作
dscacheutil -q group // 查看所有用户和组
groups user_name // 查看指定用户所属组
查看本地ip
命令 ifconfig | grep "inet " | grep -v `127.0.0.1
结果 inet xxx.xxx.x.xxx netmask 0xffffff00 broadcast 1
xxx.xxx.x.xxx
查看开放端口
a. netstat -nat | grep <端口号>
b. netstat -nat |grep LISTEN
c. lsof -i
查看当前时间
date 查看
date -s "时间" 设置
查看系统分区
df -lh
查看端口号占用
sudo lsof -P -itcp:80
结束进程
kill -9 pid
查看开机时间
命令 last | grep reboot
结果 reboot ~ Tue Aug 15 15:13
管道
|:前一个命令的输出是下个命令的输入,
ls -l | wc 查看当前目录文件个数
ls -l | head -3 查询到的结果前两个输出
ls -l | tail -5 查询到的结果后4个输出
ls -l | tail -5 | head -3 可以组合或连续使用
find 命令
- find path -option value
find \ -name file_name 从根目录开始递归查找文件名为file_name
find \ -maxdepth 4 -name file_name 限制查找最深目录层次为4
find ./ -name "*.sh" 模糊查找,.sh结尾的
find ./ -name file_name -type f/d 指定查找的是文件还是目录
find ./ -name file_name -size 10 找到大小为5120字节的目标,单位不写默认半k,c(字节)k(k字节)m(兆)
find ./ -name file_name -size +10k 找到大于10k字节的目标
find ./ -name file_name -size -10k 找到小于10k字节的目标
find ./ -perm 644 查找权限为644的目标
find ./ -user user_name 根据用户名查找
find ./ -group group_name 根据组别查找
软链接(用于合理分配硬盘资源)
ln -s 原文件路径 要链接到的路径(如果不在同一路径,源文件要写绝对路径)
ln -s millions/workplace ../workplace
硬链接(一个文件有多个名字,互为硬链接)
- 优点:
- 可以防止文件被误删除
- 硬链接比复制文件省很多存储空间
- 如果多人操作一个文件时,可以通过添加硬链接形式
- 注意:
- 手动不可以设置目录的硬链接,但是创建新目录时,系统会自动给目录加硬链接
- 源文件不需要用绝对路径
- 硬链接源文件和链接文件要在同一硬盘
ln 源文件 硬链接文件
ln sorce.txt link.txt
ls -lia -i 显示硬链接编号 -a 显示隐藏文件
任务调度(特定时间执行特定任务)
- 不限制用*代替 ,命令要写绝对路径
- 格式
分钟 小时 日期 月份 星期 执行命令
32 17 4 4 6(星期日7) ./xx/xx/xx/xx.sh
2 8-20/3 * * * ./xx/xx/xx/xx.sh 8点到20点每隔3小时执行
2 17 1,15 * * ./xx/xx/xx/xx.sh 1号和15号执行
crontab -e 编写调度任务
crontab -l 查询调度任务
修改文件的主人、组别
chown 主人.组别
chown -R millions.group1 aaa.txt 将aaa.txt的主人改为million,组别为group1,-R递归设置
查看、设置系统最大打开文件数
ulimit -a 查看
ulimit -n 1024 设置
关机
- 立即关机是
sudo halt
或者
sudo shutdown -h now
- 10分钟后关机
sudo shutdown -h +10
- 晚上8点关机
sudo shutdown -h 20:00
- 指定时间关机
sudo shutdown -h yymmddhhmm
重启
- 立即重启
sudo reboot
或者
sudo shutdown -r now
- 指定时间重启
sudo shutdown -s yymmddhhmm
睡眠
- 立即睡眠
sudo shutdown -s now
- 指定时间睡眠
sudo shutdown -s yymmddhhmm
取消设置
sudo kill pid
查找文件大于100m的
find / -type f -size +100M