@wxf
2018-01-19T09:47:45.000000Z
字数 3250
阅读 886
面试系列
文件相关命令
浏览目录:cd、ls、ll、dir
目录操作:mkdir、rmdir
浏览文件:cat、more、less、tail
文件操作:rm、cp、mv、tar
文件创建、编辑:vi、vim
搜索命令:grep
其他命令:pwd、touch、ll -h、wget
cd app -> 切换到当前目录下app目录
cd.. -> 切换到上一层目录
cd / -> 切换到系统根目录
cd -> 切换到用户主目录
cd ~ -> 切换到用户主目录,同 cd 命令
cd - -> 切换到上一个所在目录
# mkdir命令 [创建目录]
mkdir app -> 在当前目录下创建app目录
mkdir -p app/test -> 级联创建app以及test目录
# rmdir命令 [删除“空”目录]
rmdir app -> 删除app目录
# cat [用于显示文件的内容]
cat [参数] <文件名>
# more [一般用于要显示的内容超过一个画面长度]
按空格键显示下一个画面
按 q 键退出查看
# less [用法和more类似,区别是less可以通过上、下键来控制]
tail -20 /etc/passwd -> 查看后20行数据
tail -f catalina.log -> 动态查看日志
rm -rf * -> 删除当前文件夹下的所有文件
rm -rf app -> 不询问递归删除app
cp README.TXT /tmp/ -> 将哪个文件拷贝到哪里
cp -r bin/ /tmp/ -> 将bin目录拷贝到tmp目录下
mv a.txt ../ -> 将a.txt文件移动到上一层目录中
mv a.txt b.txt -> 将a.txt文件重命名为b.txt
# 打包
tar -cvf xxx.tar ./* -> 将当前目录下的所有内容打包成xxx.tar文件
tar -zcvf xxx.tar.gz ./* -> 将当前目录下的所有内容打包并压缩成xxx.tar.gz文件
# 解压
tar -zxvf xxx.tar/xxx.tar.gz -> 将压缩包解压到当前目录
:q -> 退出
:w -> 保存
:wq -> 保存并退出
:q! -> 不保存并强制退出
:e! -> 放弃所有修改,从上次保存开始重新编辑
dd -> 删除当前行
/内容 -> 查找‘内容’,按'n'键查找下一个
:%s/a/A/g -> 替换每一行中所有的‘a’为‘A’
u -> 回退撤销
R -> 替换当前字符
grep error mysql.log --color -> 在mysql.log文件中查找'error'并高亮显示
其他常用命令
touch a.txt
组合命令
重定向输出: >、>>
管道:|
命令执行控制:&&
网络通信命令:ifconfig、ping、netstat、telnet
# 重定向输出
cat /etc/passwd > a.txt
# 重定向输出并追加
cat /etc/passwd >> a.txt
# 例如:查询进程
ps -ef | grep java -> 查询名称中包含java的进程
# 例如:查询端口
netstat -anlt | grep 3306 -> 查询3306端口占用情况
# 启动Tomcat后立即查看Tomcat日志
/usr/local/tomcat/bin/startup.sh && tail -f /usr/local/tomcat/logs/catalina.out
网络通信命令
# 显示网络设备
ifconfig
# 启用eth0网卡
ifconfig eth0 up
# 停用eth0网卡
ifconfig eth0 down
ping 192.168.1.11
netstat -anlt | grep 3306 -> 查询3306端口占用情况
关机命令
shutdown -h now (立刻关机)
shutdown -h 5 (5分钟后关机)
poweroff (立刻关机)
重启命令
shutdown -r now (立刻重启)
shutdown -r 5 (5分钟后重启)
reboot (立刻重启)
远程登录命令
# 登录
ssh -l 用户名 -p 端口 目标IP (登录到另一个系统)
# 退出
exit (退出当前登录)
帮助命令
shutdown --help
ssh --help
ifconfig --help
man shutdown
系统管理命令
命令一:date、df、free、top
命令二:clear、ps、kill、killall
命令三:du、who、hostname、uname
date -> 显示当前系统时间
date -s "2018-01-01 00:00:00" -> 设置系统时间
df -h -> 友好显示磁盘大小
free -m 以mb单位显示内存组昂头
ps -ef -> 查看所有进程
ps -ef | grep ssh -> 查找某个进程
kill 2868 -> 杀掉进程编号为2868的进程
kill -9 2868 -> 强制杀掉进程
killall java -> 结束所有的java进程(如需指定进程ID)
du -h -> 显示当前目录的大小
# 修改主机名
vi /etc/sysconfig/network
uname -a -> 显示本机详细信息
用户相关
用户管理:useradd、passwd、userdel
用户组:groupadd、groupdel
id命令:id
su命令:su
# 用户创建
useradd test -> 创建test用户
useradd test -d /home/t1 -> 指定用户home目录
# 修改密码
passwd test -> 为test用户设置密码
# 删除用户
userdel test 删除test用户(不会删除home目录)
userdel -r test 删除用户及home目录
当创建一个新用户时,若没有指定所属组,系统会建立一个和该用户同名的私有组
# 创建组
groupadd public -> 创建一个名为public的组
useradd u1 -g public -> 创建用户并指定组
# 删除组(如果该组有用户成员,必须先删除用户才能删除组)
groupdel public -> 删除名为public的用户组
id test -> 查看test用户的UID和GID
su test -> 切换到test用户
su - test -> 切换到test用户,并且将环境也切换到test用户的环境
文件权限
文件权限管理:chmod、chown
# 变更文件或目录的权限
chmod 755 a.txt
chmod 000 a.txt
chmod 777 a.txt
chmod u=rwx,g=rx,0=rx a.txt
# 变更文件或目录的拥有者或所属组
chown u1:public a.txt
chown -R u1:public dir
文件分类和标识