Linux system 命令
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
| 一、文件操作 cd ~ 进入主目录 cd .. 返回上一级目录 cd .... 返回上两级目录 cd - 返回上次所在的目录 ls 查看当前目录下的文件 ls -l a* 列出当前目录以a开头的文件 ls -a 查看所有文件 包括隐藏文件 ll 查看文件详细信息 mkdir 文件名 新建文件夹 rmdir 文件名 是删除文件夹目录 mkdir dir1 dir2 同时创建两个目录 mkdir -p tmpdir1dir2 创建一个目录树 cp file1 file2 复制文件到 某个文件目录 cp -rf /tomcat/* /tomcat2/ 复制文件夹 cp dir . 复制一个目录下的所有文件到当前工作目录 cp -a file1 file2 在保留原文件属性的前提下复制文件 mv 移动指定文件到指定位置 mv dir1 new_dir 重命名移动 一个目录 rm a.log 删除普通文件 rm -rf *.* 删除这个目录下所有的文件 rm -rf *关键字* 删除和关键字有关的所有文件 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思 tail -f 文件名 实时查看被添加到一个文件中的内容 cat file1 从第一个字节开始正向查看文件的内容 tac file1 从最后一行开始反向查看一个文件的内容 more file1 查看一个长文件的内容 less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作 head -2 file1 查看一个文件的前两行 tail -2 file1 查看一个文件的最后两行 tail -f varlogmessages 实时查看被添加到一个文件中的内容 pwd 显示工作路径 rz -y 上传文件 sz 下载文件 zip 把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录 zip -r abc123.zip abc 123.txt 把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip unzip mydata.zip -d mydatabak 把/home目录下面的mydata.zip解压到mydatabak目录里面 sudo unzip -oq iss.war -d ../tomcat7/webapps/iss unzip wwwroot.zip 把/home目录下面的wwwroot.zip直接解压到/home目录里面 unzip -v wwwroot.zip 查看把/home目录下面的wwwroot.zip里面的内容 unzip -j wwwroot.zip 把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录 tar -czf test.tar.gz /test1 /test2 压缩文件 tar -xvzf test.tar.gz 解压文件 jar -xvf project.war /project_a jar -xvf project.war tree 显示文件和目录由根目录开始的树形结构 lstree 显示文件和目录由根目录开始的树形结构 ln -s file1 lnk1 创建一个指向文件或目录的软链接 ln file1 lnk1 创建一个指向文件或目录的物理链接 touch file.txt 创建一个新文件 -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) vim file1 编辑文件 vi file1 编辑文件 sed -i 's/user/userName/g' 123.txt sed命令可以批量替换多个文件中的字符串 perl -pie "s/wq/192.168.1.53/g" 123.txt 把123.txt文件中的所有wq都替换为192.168.1.153 > filename 清空文件
二、查找文件: ls | grep app* 搜索当前目录下指定文件 whereis nginx whereis java 从根据目录开始查找 find / -name tomcat find / -name 123 搜索根和子目录 名字为 123的文件 从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行 find / -type f -name "*.log" | xargs grep "ERROR" 系统查找到httpd.conf文件后即时在屏幕上显示httpd.conf文件信息。 find / -name "httpd.conf" -ls 在根目录下查找某个文件 find . -name "test" 在某个目录下查找包含某个字符串的文件 grep -r "zh_CN" ./ grep -niR 'exception' filename 注:n,显示行号 R,查找所有文件包含子目录 i,忽略大小写 最后的“xxx”表示想要查找的文件名 head -n 10 example.txt 查看文件前10行 tail -n 10 example.txt
三、进程和端口 netstat -apn 查看所有进程和端口使用情况,其中最后一栏是PID/Program name netstat –apn | grep 8080 查看8080端口使用情况 ip addr 查看IP ps -ef 查看正在活动的进程 ps -ef | grep ecp 查看进程中有ecp的所有进程 kill -9 xxxxxx 关闭某个进程
四、网络 ifconfig eth0 显示一个以太网卡的配置 ifup eth0 启用一个 'eth0' 网络设备 ifdown eth0 禁用一个 'eth0' 网络设备 ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址 mount -t cifs //ip地址/共享文件夹名 /mnt -o username=FZY,password=feng scp full.tar.gz root@192.168.191.128:/opt/soft 把当前系统文件复制到远程linux主机 scp root@192.168.191.128:/opt/soft/test.txt /opt/soft/ 把远程linux主机文件复制到当前系统 clear:如果你觉得你的屏幕上有太多的东西,看起来很讨厌,可以使用clear命令清空 echo command 打印出你的输入 ctrl + c 中止当前执行的脚本 回到命令输入模式
五、磁盘 df -hl 查看磁盘剩余空间 df -h 查看每个根路径的分区大小 du -sh [目录名] 返回该目录的大小 du -sm [文件夹] 返回该文件夹总M数 find / -size +100M -exec ls -lh {} \; 查询大于100M的文件 free -m 查看内存剩余大小
六、查看jvm大小 ps -ef | grep java
七、权限(用户权限和读写执行权限) chmod 777 给文件赋予所有权限 chmod +x 给文件赋予可执行权限 chmod 755 -rwxr-xr-x chmod 744 -rwxr--r-- su - deployer 切换到deployer用户 su -i 切换到root sudo 可执行root权限操作 sudo chown aiuap_jc:aiuap_jc iss 把iss目录的root拥有权限改成aiuap_jc
八、用户和群组 useradd -c Name Surname -g admin -d homeuser1 -s binbash user1 创建一个属于 admin 用户组的用户 useradd user1 创建一个新用户 userdel -r user1 删除一个用户 ( '-r' 排除主目录) usermod -c User FTP -g system -d ftpuser1 -s binnologin user1 修改用户属性 passwd 修改口令 passwd user1 修改一个用户的口令 (只允许root执行) userdel peter 删除用户 useradd -d /var/ftp -s /sbin/nologin 12321 groupadd group_name 创建一个新用户组 groupdel group_name 删除一个用户组 groupmod -n new_group_name old_group_name 重命名一个用户组
Nginx配置 cd /usr/local/nginx/ cd /opt/issystem/logs/nginx/ sudo tail -f -n 1000 access.log sudo ./nginx -s reload /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Mysql导入导出: 导出(无需登录): mysqldump -uroot -punisk.88 isdb > isdb-20171124.sql mysqldump -uroot -punisk.88 isdb tb_d_uniskuser > tb_d_uniskuser.sql mysqldump -t isdb -uroot -punisk.88 --tables tb_d_rubbish tb_d_rubbish_appeal > rubbishAll.sql zip -r isdb-20170828.zip isdb-20170828.sql
导入(需要登录): ./mysqllogin use isdb; source /root/isdb-20171124.sql;
查找文件或者文件夹 find / -name filename.txt 根据名称查找/目录下的filename.txt文件 find . -name "*.xml" 递归查找所有的xml文件 find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件 grep -H 'spring' *.xml 查找所有的包含spring的xml文件 find ./ -size e | xargs rm -f & 删除文件大小为零的文件 ls -l | grep '.jar' 查找当前目录中的所有jar文件 grep 'test' d* 显示所有以d开头的文件中包含test的行 grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行 grep '[a-z]\{$\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
查找后台运行的程序 以tomcat为例 ps -ef|grep tomcat 查看所有tomcat的进程 ps -ef|grep --color java 高亮要查询的关键字 查看端口占用情况 netstat -tln | grep 8080 查看端口8080的使用情况
查看端口属于哪个程序 lsof -i :8080
查看后台进程 ps aux|grep java 查看java进程 ps aux 查看所有进程
以树状图列出目录的内容 tree a
文件下载 wget http://file.tgz curl http://file.tgz
远程登录 ssh username@ip
打印信息 echo $JAVA_HOME 打印java home环境变量的值
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| 一、系统信息 uname -a 查看内核/操作系统/CPU信息的linux系统信息命令 lsb_release -a 查看操作系统 注:可惜需要安装 yum -y -install lsb head -n 1 /etc/issue 查看操作系统版本,是数字1不是字母L cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令 cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id" 查看linux CPU大小 cat /proc/meminfo |grep MemTotal 查看内存大小 grep MemFree /proc/meminfo # 查看空闲内存量 cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令 cat /proc/meminfo :查看linux系统内存信息的linux系统命令 cat /proc/version :查看版本,类似uname -r cat /proc/ioports :查看设备io端口 cat /proc/interrupts :查看中断 cat /proc/pci :查看pci设备的信息 cat /proc/swaps :查看所有swap分区的信息 ifconfig -a 查看IP地址 lsblk 查看所有硬盘 fdisk -l |grep Disk 查看硬盘大小 hostname 查看计算机名的linux系统信息命令 lspci -tv 列出所有PCI设备 lsusb -tv 列出所有USB设备的linux系统信息命令 lsmod 列出加载的内核模块 env 查看环境变量资源 free -m 查看内存使用量和交换区使用量 df -h 查看各分区使用情况 du -sh 查看指定目录的大小 uptime 查看系统运行时间、用户数、负载 cat /proc/loadavg 查看系统负载磁盘和分区 mount | column -t 查看挂接的分区状态 fdisk -l 查看所有分区 swapon -s 查看所有交换分区 hdparm -i /dev/hda 查看磁盘参数(仅适用于IDE设备) dmesg | grep IDE 查看启动时IDE设备检测状况网络 ifconfig 查看所有网络接口的属性 iptables -L 查看防火墙设置 route -n 查看路由表 netstat -lntp 查看所有监听端口 netstat -antp 查看所有已经建立的连接 netstat -s 查看网络统计信息进程 ps -ef 查看所有进程 top 实时显示进程状态用户 w 查看活动用户 id 查看指定用户信息 last 查看用户登录日志 cut -d: -f1 /etc/passwd 查看系统所有用户 cut -d: -f1 /etc/group # 查看系统所有组 crontab -l 查看当前用户的计划任务服务 chkconfig –list 列出所有系统服务 chkconfig –list | grep on 列出所有启动的系统服务程序
二、软件信息 ./version.sh 查看tomcat jvm版本 先进到tomcat的bin目录 cd /usr/local/nginx/sbin ./nginx -v 查看nginx 版本 mysql -v 查看mysql 版本 java -version 查看java版本 whereis java which java (java执行路径) echo $JAVA_HOME echo $PATH
三、网络 service network restart 重启网络 netstat -anp|grep 80 网络管理netstat命令 查看端口
四、关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hoursminutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注销
五、挂载文件 mount devhda2 mnthda2 挂载一个叫做hda2的盘 - 确定目录 ' mnthda2' 已经存在 umount devhda2 卸载一个叫做hda2的盘 - 先从挂载点 ' mnthda2' 退出 fuser -km mnthda2 当设备繁忙时强制卸载 umount -n mnthda2 运行卸载操作而不写入 etcmtab 文件- 当文件为只读或当磁盘写满时非常有用 mount devfd0 mntfloppy 挂载一个软盘 mount devcdrom mntcdrom 挂载一个cdrom或dvdrom mount devhdc mntcdrecorder 挂载一个cdrw或dvdrom mount devhdb mntcdrecorder 挂载一个cdrw或dvdrom mount -o loop file.iso mntcdrom 挂载一个文件或ISO镜像文件 mount -t vfat devhda5 mnthda5 挂载一个Windows FAT32文件系统 mount devsda1 mntusbdisk 挂载一个usb 捷盘或闪存设备 mount -t smbfs -o username=user,password=pass WinClientshare mntshare 挂载一个windows网络共享
六、磁盘空间 df -h 显示已经挂载的分区列表 ls -lSr more 以尺寸大小排列文件和目录 du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间' du -sk sort -rn 以容量大小为依据依次显示文件和目录的大小 rpm -q -a --qf '%10{SIZE}t%{NAME}n' sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间
|
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏