目录
linux基础命令
一、入门命令
cd、pwd、ls、mkdir、rm、cp、tree、mv、find、tar
ps、kill、killall、cron、free、chmod、chown、useradd、passwd
1.切换目录命令cd
cd .. 切换到上一级
cd - 切换到上一次工作路径
cd ~ 切换到当前用户的家目录
2.查看当前所在的目录pwd
pwd -p 查看软链接的实际路径
3.展示目录列表ls(list)
ls 展示当前目录下的可见文件
ls -a 显示前目录下的全部文件
ls -l 显示前目录下文件的详细信息
ll -h 友好的显示目录下详细信息
4.目录的创建(mkdir)
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
5.删除操作 rm
-f 就是force的意思,忽略不存在的文件,不会出现警告消息
-i 互动模式,在删除前会询问用户是否操作
-r 递归删除,最常用于目录删除,它是一个非常危险的参数
6.复制 cp
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
7. 显示树形的层级目录结构 tree
8.移动文件 mv
-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新
9. 查找 find
- 与时间有关的参数
-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名;
-atime +n :列出在n天之前(不含n天本身)被访问过的文件名;
在/home目录下查找4天之前被跟改过的文件
find /home -mtime +4
find / -mtime +10 -mtime -20 #查找最后10-20天修改的所有文件
- 与用户或用户组名有关的参数
-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
- 与文件名称类型大小有关的参数
-name filename :找出文件名为filename的文件
-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件
-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);
实列
find / -size +50M -size -100M #查找大于50M且小于100M的所有文件
find -type f -perm 0777 -print -exec chmod 644 {} \; #查找所有777权限的文件,并使用chmod将其设置为644
find -type f -name 'test.php' -exec rm -f {} \; #查找并删除单个文件
10.压缩 tar
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
二、监控和进程相关命令
11. 显示运行的进程 ps
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
11. 终止进程 kill
-1:SIGHUP,启动被终止的进程
-2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
-9:SIGKILL,强制中断一个进程的进行
-15:SIGTERM,以正常的结束进程方式来终止进程
-17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
12.killall
killall [-iIe] [command name]
-i :交互式的意思,若需要删除时,会询问用户
-e :表示后面接的command name要一致,但command name不能超过15个字符
-I :命令名称忽略大小写
[root@docker ~]# killall python
13.启动linux定时任务的服务 cron
service cron start # 启动cronjob
service cron stop # 停止cronjob
service cron restart # 重启cronjob
crontab -e # 编辑cronjob任务
[root@docker ~]# cat /etc/crontab 查看cron时间规则
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
每星期六的23 : 00 pm重启lighttpd 。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
23点到早上7点之间,每隔一小时重启lighttpd
14.显示Linux系统中内存 free
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
三、权限相关命令
15.chmod
chmod [-R] abc 文件或目录
-R:进行递归的持续更改,即连同子目录下的所有文件都会更改
#同时,chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改,编号是各种权限的数字代码,示例:
chmod 0755 file # 把file的文件权限改变为-rxwr-xr-x
chmod g+w file # 向file的文件权限中加入用户组可写权限
16.改变文件所有者 chown
[root@docker practice]# chown root:root home
17.建立用户账号useradd
useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号]
-c #<备注> 加上备注文字。备注文字会保存在passwd的备注栏位中。
-d #<登入目录> 指定用户登入时的启始目录。
-g # <群组> 指定用户所属的群组。
-G # <群组> 指定用户所属的附加群组。
-m # 自动建立用户的登入目录。
-M # 不要自动建立用户的登入目录。
-r # 建立系统帐号。
-s # 指定用户登入后所使用的shell。
-u # 指定用户ID。
18.设置密码 passwd
passwd [OPTION...] <accountName>
-k, --keep-tokens keep non-expired authentication tokens
-d, --delete delete the password for the named account (root only)
-l, --lock lock the named account (root only)
-u, --unlock unlock the named account (root only)
-f, --force force operation
-x, --maximum=DAYS maximum password lifetime (root only)
-n, --minimum=DAYS minimum password lifetime (root only)
-w, --warning=DAYS number of days warning users receives before password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only)
-S, --status report password status on the named account (root)
非交互式
echo 123456 |passwd ouzhe --stdin