linux常用系统命令

权限管理类命令:

 chmod  改变文件或目录的权限

chown  改变文件或者目录的所有者

chgrp  改变文件或目录所属组

umask  设置新建文件的掩码

chattr  查看和改变文件、目录属性

lsattr  查看和改变文件、目录属性

磁盘管理类命令:

df  i 节点和磁盘使用               -Th 

du  统计文件和目录大小        -sh  

fdisk  格式化磁盘分区

mkfs  创建文件系统

mkfs.ext2|3|4    格式化成特定的文件系统

mount  挂载磁盘分区

umount  卸载磁盘分区

fsck  修复文件系统

sync  同步

系统维护类命令:

at  定时任务

bg  后台执行进程

fg  前台执行进程

jobs  显示后台任务执行情况

kill  终止进程

crontab  定时任务

killall

pstree  显示当前进程及进程树

top  显示当前进程情况

nice  改变程序运行优先权等级

renice  允许用户修改一个正在运行的进程的优先级

sleep  使进程暂停执行一段时间

nohup  用户退出系统之后正在工作

pgrep  查找当前运行的进程,并列出匹配给定条件的进程的 pid,所有的条件都必须满足才会被列出

chkconfig  检查,设置系统的各种服务

改变 redhat 的系统语言/字符集

修改 /etc/sysconfig/i18n 文件,如

LANG="en_US",xwindow 会显示英文界面,

LANG="zh_CN.GB18030",xwindow 会显示中文界面。

还有一种方法

cp /etc/sysconfig/i18n $HOME/.i18n

vi $HOME/.i18n 文件,如

LANG="en_US",xwindow 会显示英文界面,

LANG="zh_CN.GB18030",xwindow 会显示中文界面。

这样就可以改变个人的界面语言,而不影响别的用户

查看系统信息

cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)

cat /proc/interrupts - 中断

cat /proc/ioports - 设备 IO 端口

cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)

cat /proc/partitions - 所有设备的所有分区

cat /proc/pci - PCI 设备的信息

cat /proc/swaps - 所有 Swap 分区的信息

cat /proc/version - Linux 的版本号 相当于 uname -r

uname -a - 看系统内核等信息

让 linux 自动同步时间

vi /etc/crontab

加上一句:

00 0 1 * * root rdate -s time.nist.gov

管理与网络

lsof 用法小全

lsof abc.txt 显示开启文件 abc.txt 的进程

lsof -i :22 知道 22 端口现在运行什么程序

lsof -c nsd 显示 nsd 进程现在打开的文件

lsof -g gid 显示归属 gid 的进程情况

lsof +d /usr/local/ 显示目录下被进程开启的文件

lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长

lsof -d 4 显示使用 fd 为 4 的进程

lsof -i [i] 用以显示符合条件的进程情况

语法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

忘了 mysql 的 root 口令怎么办

# service mysql stop

# mysqld_safe --skip-grant-tables &

# mysqladmin -u user password 'newpassword''

# mysqladmin flush-privileges

mysqld 起来了,却无法登录,提示"/var/lib/mysql/mysql.sock"不存在

这种情况大多数是因为你的 mysql 是使用 rpm 方式安装的,它会自动寻找

/var/lib/mysql/mysql.sock 这个文件,

通过 unix socket 登录 mysql。

常见解决办法如下:

1)创建/修改文件 /etc/my.cnf,至少增加/修改一行

[mysql]

[client]

socket = /tmp/mysql.sock

#在这里写上你的 mysql.sock 的正确位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下

2)指定 IP 地址,使用 tcp 方式连接 mysql,而不使用本地 sock 方式

#mysql -h127.0.0.1 -uuser -ppassword

3)为 mysql.sock 加个连接,比如说实际的 mysql.sock 在 /tmp/ 下,则

# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 即可

如何在命令行上执行 sql 语句

#mysql -uuser -ppassword -e "sql statements" database

过滤掉#号打头的行,和所有的空行(针对配置文档)

awk   '/^[^#]/&&/^[^$]/'    filename > new.file

原文地址:https://www.cnblogs.com/ipyanthony/p/9289842.html