Linux常用命令和常见问题

常用命令

查看系统信息

Linux版本
uname -a 查看系统内核信息
lsb_release -a 查看LSB(Linux Standard Base)和Distribution信息
cat /etc/issue 查看Linux版本
cat /etc/system-release
cat /etc/redhat-release
env 显示当前用户的环境变量

CPU信息
lscpu - display information about the CPU architecture
cat /proc/cpuinfo
vmstat - reports information about processes, memory, paging, block IO, traps, disks and cpu activity
top

内存信息
cat /proc/meminfo

进程
ps -ef | grep java 查看Java进程
kill -9 #### 杀死进程
netstat -tlnp | grep 8080 查看端口占用
fuser Show which processes use the named files, sockets, or filesystems
fuser -k -n tcp 80 杀死占用80端口的进程

tmpwatch -afv 5d /tmp 删除tmp目录5天未使用的文件
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java

添加Repository

CentOS/RHEL 7:

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

CentOS/RHEL 6:

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

也可以到以下网站查找安装包:
Package search
RPM Search
RPM Find

安装开发工具包

yum install -y gcc gcc-c++ 安装编译器
yum install -y libstdc++ libstdc++-devel
yum groupinstall “Development Tools” 安装Development Tools
(如出现there is no installed groups file错误,请附加参数--setopt=group_package_types=mandatory,default,optional)
yum groupinfo "Development Tools" 查看组Development Tools的内容
yum list installed 列出已安装的包

firewall配置

systemctl start firewalld
firewall-cmd --state
firewall-cmd --zone=public --add-port=5000/tcp

用户权限

visudo 编辑/etc/sudoers文件

文件/目录操作

pwd 显示当前工作路径
cd - 返回上次所在的目录
mkdir -p /dir1/dir2 创建一个目录树
cp -a dir1 dir2 复制一个目录

true > test.txt 清空文件的内容
find
与时间有关的选项:-atime, -ctime 与 -mtime,以 -mtime 说明
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』修改过内容的文件
-mtime +n :列出在 n 天之前(不含 n 天本身)修改过内容的文件
-mtime -n :列出在 n 天之内(含 n 天本身)修改过内容的文件
-newer file :file 为一个存在的文件,列出比 file 还要新的文件
CentOS 7 支持 -newerXY 参数,可直接指定时间,具体请查阅find帮助文档。

find AIRLINE -name *0813* -type f | xargs du -ck  查找名字包含0813的文件并统计总大小,以Kb为单位
find执行action
find / -name \*.rpm -exec chmod 755 ‘{}‘ \;   从根目录搜索以 ‘.rpm‘ 结尾的文件并定义其权限,其中{}位置放置find执行结果,\; 为action结束标志
find -type d -exec mkdir -p /new_folder/{} \;   复制当前目录下的目录结构
find AIRLINE -wholename **/attach/*0813* -type f -exec rm -f {} \;  根据wholename查找文件并删除

which [-a] command 寻找可执行文件(-a :将所有PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称)
whereis [-bmsu] filename/folder 从一些特定的目录查找
locate [-ir] keyword 依据/var/lib/mlocate资料库的记载查找文件(执行updatedb更新资料库)

常用配置文件

网络配置

SSH /etc/ssh/sshd_config
网络参数 /etc/sysconfig/network-scripts/ifcfg-eth0
DNS /etc/resolv.conf
hosts /etc/hosts
hostname /etc/hostname
network /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=xxx
GATEWAY=xxx.xxx.xxx.xxx  

iptables /etc/sysconfig/iptables

系统配置

mount /etc/fstab

用户配置

user /etc/passwd
user password /etc/shadow
group /etc/group
group password /etc/gshadow

定时任务

/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
/etc/anacrontab

#period in days   delay in minutes   job-identifier          command
1                          5                          cron.daily              nice run-parts /etc/cron.daily
7                         25                         cron.weekly           nice run-parts /etc/cron.weekly
@monthly           45                         cron.monthly         nice run-parts /etc/cron.monthly

定时服务crond

service crond start/stop 启动/停止定时服务

crontab 编辑定时任务
crontab [-u user] [ -e | -l | -r ]
-e edit user‘s crontab
-l list user‘s crontab
-r delete user‘s crontab
-ir prompt before deleting user‘s crontab

crontab [-u user] file
以file做为crontab的任务列表文件并载入

crontab file的格式:
crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。
前 5 个字段指定命令要运行的时间
分钟 (0-59)
小时 (0-23)
日期 (1-31)
月份 (1-12)
星期几(0-6,其中 0 代表星期日)
第 6 个字段是执行的字符串

常见问题

YUM duplicate错误

First look if you have any uncomplete transactions with: yum-complete-transaction
If this doesn‘t help then take a look at the package-cleanup tool which is part of the yum-utils package.
package-cleanup --dupes lists duplicate packages
package-cleanup --cleandupes removes duplicate packages

ldconfig动态链接库管理

在找不到so文件时(cannot open shared object file),使用ldconfig来配置共享。配置文件位于/etc/ld.so.conf.d目录下。
比如,安装了mysql,so文件位于/usr/lib64/mysql下,可在/etc/ld.so.conf.d目录创建mysql.conf文件,其中内容为 /usr/lib64/mysql,然后运行:
$ sudo ldconfig -v

linux时间同步

yum install ntp
service ntpd start

服务启动后会自动从上级ntp服务器同步时间
/etc/ntp.conf为配置文件,可配置上级服务器

客户端也可不启动ntpd服务,通过crontab同步时间:

*/3 * * * *     (/usr/sbin/ntpdate 10.184.13.14 && /sbin/hwclock -w) &> /dev/null

设置时区

CentOS 7

$ timedatectl
Local time: Tue 2016-11-22 06:07:42 UTC
Universal time: Tue 2016-11-22 06:07:42 UTC
RTC time: Tue 2016-11-22 06:07:42
Time zone: UTC (UTC, +0000)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a  

timedatectl list-timezones 查看时区
timedatectl set-timezone Asia/Shanghai 设置时区
timedatectl set-timezone UTC

CentOS 6

# vim /etc/sysconfig/clock
ZONE="UTC"
cp /usr/share/zoneinfo/UTC /etc/localtime

使用ssh-agent和keychain 缓存解密的密钥

Keychain helps you to manage SSH and GPG keys in a convenient and secure manner. It acts as a frontend to ssh-agent and ssh-add, but allows you to easily have one long running ssh-agent process per system, rather than the norm of one ssh-agent per login session.

This dramatically reduces the number of times you need to enter your passphrase. With keychain, you only need to enter a passphrase once every time your local machine is rebooted. Keychain also makes it easy for remote cron jobs to securely "hook in" to a long-running ssh-agent process, allowing your scripts to take advantage of key-based logins.

限制多人用同一个用户登录

在/etc/pam.d/login中增加:

session required/lib/security/pam_limits.so

然后在/etc/security/limits.conf加入如下内容:

* hard maxlogins 1

数据恢复

安装工具extundelete

yum install e2fsprogs e2fslibs-dev

或下载extundelete-x.x.x.tar.bz2,运行tar -jxvf extundelete-x.x.x.tar.bz2解压后安装。
恢复某一目录,执行:

extundelete partition_name --restore-directory path/of/directory

autoexpect - generate an Expect script from watching a session
鸟哥的Linux私房菜
Top 5 Yum Repositories for CentOS/RHEL 7/6/5

原文地址:http://blog.51cto.com/7308310/2163076

时间: 2024-10-10 21:03:59

Linux常用命令和常见问题的相关文章

Linux常用命令(echo、date、ls、cd、history、cat)

一.linux常用命令有很多今天我们来总结一下常用的入门命令: 1.linux下关机命令:poweroff.init 0.halt.shutdown -h now 2.linux下重启命令:reboot.init 6.shutdown -r now 3.shutdown命令: 格式:shutdown  options TIME 其中options有以下几个: -r:执行重启 -c:取消shutdown命令 -h:执行关机 其中TIME有以下几个: now:表示现在 +m:相对时间表示法,从命令提

linux常用命令详解

linux常用命令 cut命令 例如:cut -d\| -f1,4 xx.txt -d 表示字段分隔符 -f 表示要显示的字段域,如果域之间,(逗号)隔开表示显示对应的单个域,如果用-隔开表示显示连续的域 sort命令 例如:sort -t\| -k2 xx.txt -n 按数值排序 -r 降序 -t 字段分隔符 -k 以哪个字段为关键字进行排序 -u 去重 -f 排序时不区分大小写 uniq命令 注意:使用uniq命令时,一定要先进行排序 -c 显示文件中行重复的次数 -d 只显示重复的行 -

Linux常用命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验

(转)linux常用命令

原地址:http://www.cnblogs.com/svage/p/3700122.html 1.删除目录及子目录下的 .svn目录 find . -type d -name ".svn" | xargs rm -rf 2./tmp 目录的权限 drwxrwxrwt rwt的意思是:对目录有执行权限,但不能删除,即sticky bit rwx : 可读可写可执行 4+2+1 3.改变群组.用户.权限 chgrp   群组名   改变的目录 groupadd -g gid gname

Linux 常用命令之文件和目录

1. cd 命令格式:cd  [dirName](cd和目录之间使用空格隔开) 作用:切换当前目录至dirName. 实例: cd /home 切换当前目录到/home (查看当前目录命令为pwd) cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd ~ 进入个人的主目录 2. ls 命令格式:ls [选项] [目录名] (目录名为空时表示当前目录) 作用: 查看目录中的文件 常用选项: -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件. -l 除了文件名之外,

Linux 常用命令汇总

Linux 常用命令汇总 1. 显示日期与时间:date 可修改显示日期格式,如:date +%Y/%m/%d %H:%M à2016/12/25 17:05(%Y:年:%m:月:%d:日:%H:24小时制:%M:分) date –d 参数后可加:today/yesterday/tomorrow 来显示今天.昨天.明天日期 2. 显示日历:cal(默认显示本月月历) cal 2001 可显示2001年整年日历:cal 10 2001 可具体显示某月月历 3.  计算器:bc 4. Tab键:用在

第一章,Linux常用命令

20161124 Linux常用命令 1.find find /etc/ -size +50k -ls find /etc/ -size +50k -ls 2> /dev/null 查看目录下大于50K的文件并用ls列表显示出来, 理解2> /dev/null含义,把没权限的都隐藏起来了 2.pwd ,ls  ,ls -a   ,ls -al ,,ls -alh,touch   ,make, 常用ls -alh 3.标准输入和输出管道 cat >  packages1.txt   之后输

linux常用命令总结

linux常用命令: (1) ls(list,列表) 作用:使用列表把当前文件夹下所有文件显示出来 ls -a 显示所有文件,包括隐藏文件 ls -l 以详细信息显示 ls -a -l ls -l -a ls -la ls -al 四种方式都是可以的 (2) cd(change directory,更改目录) 作用:用来切换目录 涉及到相对路径和绝对路径 cd .. ..代表上一层目录 .代表当前目录 (3) pwd(print work directory,打印工作目录) 作用:打印出当前的绝

Linux常用命令介绍

Linux常用命令示例: 在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数"--help"或者用"man 命令"可以取得命令的详细用法. (*)小常识:在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘的"Tab"键补全文件名的后面部分,若输入的字符是多个文件名的起