最近Linux用的比较多,经常去查一些指令,特此记录,供自己日后使用时查询并补充。
1、基础命令
1.1、文件和目录
命令 | 操作 |
---|
cd ~ | 进入当前登录用户的home目录 |
cd …/… | 返回上两级目录 |
cd - | 返回上次所在目录 |
cd ~ | 进入当前登录用户的home目录 |
cp file1 file2 | 将file1复制为file2(操作完源文件还在) |
cp -a dir1 dir2 | 复制一个文件夹 |
cp -a /data/www . | 复制/data/www文件夹到当前工作目录(.表示当前目录) |
ls -lrt | 按时间显示文件(l表示详细列表,r表示反向排序,t表示按时间排序) |
mkdir dir1 | 同时创建两个目录 |
mkdir -p /tmp/dir1/dir2 | 创建一个目录树 |
mv dir1 dir2 | 移动/重命名一个目录 |
rm -rf dir1 | 删除 ‘dir1’ 目录及其子目录内容(r表示递归,f表示强制删除) |
1.2、查看文件内容
命令 | 操作 |
---|
cat file | 从头查看文件file的内容 |
head -2 file | 查看文件file的前两行 |
more file | 查看长文件file的内容 |
tac file | 从最后一行反向查看一个文件的内容(输出是从最后一行开始的) |
tail -3 file | 查看一个文件的最后三行 |
vi(vim) file | 打开并浏览文件 |
1.3、文本内容处理
命令 | 操作 |
---|
grep str /tmp/test | 在文件‘/tmp/test’中查找“str” |
grep ^str /tmp/test | 在文件 ‘/tmp/test’ 中查找以 “str” 开始的行 |
grep [0-9] /tmp/test | 查找 ‘/tmp/test’ 文件中所有包含数字的行 |
grep str -r /tmp/* | 在目录 ‘/tmp’ 及其子目录中查找 “str” |
diff file1 file2 | 找出两个文件的不同处 |
sdiff file1 file2 | 以对比的方式显示两个文件的不同 |
vi(vim) file | i 进入操作模式Esc 退出编辑文本模式;:w保存当前修改;:q不保存退出;:wq保存当前修改并退出 |
1.4、查询操作
命令 | 操作 |
---|
find / -name file1 | 从 ‘/’ 开始进入根文件系统查找文件和目录 |
find / -user user1 | 查找属于用户 ‘user1’ 的文件和目录 |
find /home/user1 -name *.bin | 在目录 ‘/ home/user1’ 中查找以 ‘.bin’ 结尾的文件 |
find /usr/bin -type f -atime +100 | 查找在过去100天内未被使用过的执行文件 |
find /usr/bin -type f -mtime -10 | 查找在10天内被创建或者修改过的文件 |
1.5、压缩、解压
命令 | 操作 |
---|
bzip2 file1 | 压缩 file1 |
bunzip2 file1.bz2 | 解压 file1.bz2 |
gzip file1 | 压缩 file1 |
gzip -9 file1 | 最大程度压缩 file1 |
gunzip file1.gz | 解压 file1.gz |
tar -cvf archive.tar file1 | 把file1打包成 archive.tar(-c: 建立压缩档案;-v: 显示所有过程;-f: 使用档案名字,是必须的,是最后一个参数) |
tar -cvf archive.tar file1 dir1 | 把 file1,dir1 打包成 archive.tar |
tar -tf archive.tar | 显示一个包中的内容 |
tar -xvf archive.tar | 解压一个包 |
tar -xvf archive.tar -C /tmp | 把压缩包释放到 /tmp目录下 |
zip file1.zip file1 | 创建一个zip格式的压缩包 |
zip -r file1.zip file1 dir1 | 把文件和目录压缩成一个zip格式的压缩包 |
unzip file1.zip | 解压一个zip格式的压缩包到当前目录 |
unzip test.zip -d /tmp/ | 解压一个zip格式的压缩包到 /tmp 目录 |
1.6、yum安装器
命令 | 操作 |
---|
yum -y install [package] | 下载并安装一个rpm包 |
yum localinstall [package.rpm] | 安装一个rpm包,使用你自己的软件仓库解决所有依赖关系 |
yum -y update | 更新当前系统中安装的所有rpm包 |
yum update [package] | 更新一个rpm包 |
yum remove [package] | 删除一个rpm包 |
yum list | 列出当前系统中安装的所有包 |
yum search [package] | 在rpm仓库中搜寻软件包 |
yum clean [package] | 清除缓存目录(/var/cache/yum)下的软件包 |
yum clean headers | 删除所有头文件 |
yum clean all | 删除所有缓存的包和头文件 |
yum install -y net-tools | bash: ifconfig: 未找到命令 |
yum install -y wget | bash: wget: 未找到命令 |
1.7、网络
命令 | 操作 |
---|
ifconfig ens33 | 显示一个以太网卡的配置 |
ifconfig ens33 192.168.1.1 netmask 255.255.255.0 | 配置网卡的IP地址 |
ifdown ens33 | 禁用 ‘ens33’ 网络设备 |
ifup ens33 | 启用 ‘ens33’ 网络设备 |
ip addr show | 显示网卡的IP地址 |
1.8、系统相关
命令 | 操作 |
---|
su - | 切换到root权限(与su有区别) |
shutdown -h now | 关机 |
shutdown -r now | 重启 |
reboot | 重启 |
poweroff | 关机 |
top | 罗列使用CPU资源最多的linux任务 (输入q退出) |
uname -r | 内核版本 |
cat /etc/redhat-release | centos版本 |
pstree | 以树状图显示程序 |
man ping | 查看参考手册(例如ping 命令) |
df -h | 显示磁盘的使用情况 |
vi /etc/hostname | 修改主机名称 |
vi /etc/sysconfig/network-scripts/ifcfg-ens33 | //修改或增加配置 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.xxx.xxx NETMASK=255.255.255.0 GATEWAY=192.168.111.2 DNS1=114.114.114.114 DNS2=8.8.8.8 |
1.9、用户、权限相关
命令 | 操作 |
---|
groupadd developer | 创建用户组developer |
useradd -g developer developer | 创建用户developer 并加入developer 组 |
passwd developer | 设置用户developer的密码 |
chmod -R 775 test | 修改目录test权限为775(r4,w2,e1) |
chown -R nginx:nginx static | 将文件夹static拥有者修改成nginx |
1.9、防火墙、端口相关
命令 | 操作 |
---|
firewall-cmd --get-active-zones | 查看zone名称 |
firewall-cmd --zone=public --add-port=6379/tcp --permanent | 开启6379端口 |
firewall-cmd --reload | 重启防火墙 |
firewall-cmd --query-port=6379/tcp | 检查端口是否开启 |