Linux命令

系统修改


ss -tln             //查看TCP的listen的端口

ss -tlnp            //查看哪些进程使用了监听端口

curl ifconfig.me    //查看本机公网IP

arch                //显示机器处理器架构

cat /proc/cpuinfo   //显示CPU info的信息

cat /proc/version   //显示内核的版本

date 显示系统日期

ls -al /proc/PID/exe  //根据PID 查看运行进程

hostnamectl set-hostname 新主机名

ps命令常用用法(方便查看系统进程)

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进程。

关机 (系统的关机、重启以及登出 )

shutdown -h now //关闭系统(1)

init 0          //关闭系统(2)

telinit 0       //关闭系统(3)

shutdown -h hours:minutes & 按预定时间关闭系统

shutdown -c 取消按预定时间关闭系统

shutdown -r now 重启(1)

reboot 重启(2)

logout 注销

文件和目录



chmod 777               //修改文件权限

cd /home                //进入 '/ home' 目录'

cd ..                   //返回上一级目录

cd ../..                //返回上两级目录

cd                      //进入个人的主目录

cd ~user1               //进入个人的主目录

cd -                    //返回上次所在的目录

pwd                     //显示工作路径

ls                      //查看目录中的文件

ls -F                   //查看目录中的文件

ls -l                   //显示文件和目录的详细资料

ls -a                   //显示隐藏文件

ls *[0-9]*              //显示包含数字的文件名和目录名

tree                    //显示文件和目录由根目录开始的树形结构(1)

lstree                  //显示文件和目录由根目录开始的树形结构(2)

mkdir dir1              //创建一个叫做 'dir1' 的目录'

mkdir dir1 dir2         //同时创建两个目录

mkdir -p /tmp/dir1/dir2 //创建一个目录树

rm -f file1             //删除一个叫做 //'file1' 的文件'

rmdir dir1              //删除一个叫做 'dir1' 的目录'

rm -rf dir1             //删除一个叫做 'dir1' 的目录并同时删除其内容

rm -rf dir1 dir2        //同时删除两个目录及它们的内容

mv dir1 new_dir         //重命名/移动 一个目录

cp file1 file2          //复制一个文件

cp dir/* .              //复制一个目录下的所有文件到当前工作目录

cp -a /tmp/dir1 .       //复制一个目录到当前工作目录

cp -a dir1 dir2         //复制一个目录

ln -s file1 lnk1        //创建一个指向文件或目录的软链接

ln file1 lnk1           //创建一个指向文件或目录的物理链接

touch -t 0712250000 file1  //修改一个文件或目录的时间戳 - (YYMMDDhhmm)


iconv -l                //列出已知的编码

文件搜索


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天内被创建或者修改过的文件

find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限

find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备

locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令

whereis halt 显示一个二进制文件、源码或man的位置

which halt 显示一个二进制文件或可执行文件的完整路径

挂载一个文件系统


mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在

umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出

fuser -km /mnt/hda2 当设备繁忙时强制卸载

umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用

mount /dev/fd0 /mnt/floppy 挂载一个软盘

mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom

mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom

mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom

mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件

mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统

mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备

mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个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包所使用的空间 (fedora, redhat类系统)

dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

用户和群组


groupadd group_name 创建一个新用户组

groupdel group_name 删除一个用户组

groupmod -n new_group_name old_group_name 重命名一个用户组

useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户

useradd user1 创建一个新用户

userdel -r user1 删除一个用户 ( '-r' 排除主目录)

usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性

passwd 修改口令

passwd user1 修改一个用户的口令 (只允许root执行)

chage -E 2005-12-31 user1 设置用户口令的失效期限

pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户

grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组

newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组


文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消

定时任务crontab

crontab -l  查看命令脚本任务

crontab -e  命令脚本的任务

/www/server/php/72 

* * * * * /www/server/php/72/php /www/wwwroot/moswb/web/rafting-library/ artisan schedule:run >> /dev/null 2>&1

tail -f /var/log/cron   查看crontab的运行情况

防火墙

1:查看防火状态
systemctl status firewalld
service  iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service  iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart  
5:永久关闭后重启
//暂时还没有试过
chkconfig iptables on
上一篇:在vim和python virtualenv中带有taglist的ctags


下一篇:linux基础命令