linux命令
linux系统以文件形式访问设备
linux内核分为进程调度,内存管理,虚拟文件系统,进程间通信等4个子系统
查看:ls -l
查看当前目录:pwd
切换目录:cd
创建目录:mkdir
删目录:rmdir
文件:file
创文件:touch
复制:cp
删:rm
移动文件路径:mv (如果在同一目录下则是改名)
查找:find
查看文件:cat
分屏显示:more
分屏显示可回滚:less
头:head
尾:tail
挂光盘:mount /dev/cdrom /media/cdrom
卸光盘:umount /dev/cdrom /media/cdrom
向文档123中写内容:echo "1111" >> 123
查看分区:fdisk -l
fdisk /dev/sdb
格式化sdb1:mkfs -t ext3 /dev/sdb1
做镜像:cp /dev/cdrom 123.iso
挂镜像:mount -o loop 123.iso /media/cdrom
查看ip:ifconfig eth0
设置ip:ifconfig eth0 192.168.1.1 network 255.255.255.0
关闭防火墙:service iptables stop
查看前4行:head -4 /etc/passwd
添加用户:adduser
删除用户:deluser
禁用aa:usermod -L aa
启用aa:usermod -U aa
userdel aa
删aa家目录:rm -rf aa (在家目录下)
连同家目录一起删:userdel -r aa
把bb加入vv组:gpasswd -a bb vv
把bb退出vv组:gpasswd -d bb vv
改文件属主:chown aa 1 (aa为用户名,1为文件名)
改文件属组:chown :aa 1 或 chgrp aa 1 (aa为属组)
改文件权限:chmod u+x 1 (1为文件名)
读:r 写:w 执行:x
属主: u 属组:g 其它:o 所有用户:a
为aa设置密码:
# passwd aa
# 123 (密码)
查看shell:echo $SHELL
查看历史命令:history
清除历史命令:history -c
查看命令别名:alias
命令别名:alias m='mount /media/cdrom'
取消全部别名:unalias -a
取消单个命令别名m:unalias m
统计结果追加到123: wc < /etc/passwd >> 123
赋值:Day=sunday
取消赋值:unset Day
su普通用户需要进入/home下的同名文件夹下才能自由操作:
# su aa
# cd /home/aa
装telnet-server的rpm包,使之能远程登录
# rpm -ivh /media/cdrom/RedHat/RPMS/telnet-server + Tab键
查看服务是否开启:chkconfig --list telnet
开启服务:chkconfig telnet on
动态获取ip地址: dhclient
在ftp中下载:mget prozilla-2.0.4.tar.gz
linux下上传到ftp:put prozilla-2.0.4.tar.gz
退出ftp:bye
开启httpd服务:service httpd start
查看端口号:netstat -ntpl
强行卸载httpd的rpm包: rpm -e httpd --nodeps
批量创建目录: mkdir a_{1..100}
重启 : reboot
查看服务、进程: ps 、 top 、 pstree
后台执行: &
后台调为前台为:fg
查看:jobs
查看时间、日期:date
查看at任务:atq
删除at任务1:atrm 1
查看周期任务:crontab -l
覆盖原有的周期任务:crontab
追加周期任务:crontab -e
删除周期任务:crontab -r
退出任务:ctrl + D
普通用户查ip:/sbin/ifconfig
普通用户查路由:/sbin/route
查看传输路径(路由跟踪):traceroute
域名解析:nslookup
删默认网关:route del default gw 192.168.1.1
添默认网关:route add default gw 192.168.1.1
换DNS服务器为1.1.1.1:
# nslookup
# server 1.1.1.1
切换用户:ctrl + alt + shift + f1...9
返回用户:alt + f7
复制目录: cp -r
删除目录: rm -r
扩大字号:ctrl + shift + "+"键
缩小字号:ctrl + "-"键
清屏:ctrl + L 或 clear
中断编辑(放弃):ctrl + c
把home下的11文件复制到当前目录:cp /home/11 .
把111移动到home下并重命名为22:mv 111 /home/22
在根目录下创建/etc/passwd的快捷方式:ln /etc/passwd /
反向过滤查看:grep -v
以~~开头:"^..."
以~~结尾:"...$"
查看所在路径:which
查看/boot下以vmlin开头的各文件所占空间大小:du -ah /boot/vmlin*
只统计所占空间总的大小:du -sh
linux英文桌面改为中文:
在登录界面下有个Language - Chinese(simplified) - OK - 登录 - Just For This Session
改时间:date 051910302011 (月/日/时/分/年)
清除历史命令:history -c
对文件或目录递归操作(继承权限):-R
查看隐藏文件:ls -a
给组/用户设置set位:chmod g/u +/- s
给组/用户设置粘滞位:chmod g/u +/- t
例: chmod 4777 11(文件) 设置set位
chmod 1777 11 设置粘滞位
注:set位享有root的权限
粘滞位对其他用户的文件无权限
指定用户的UID号: -u
指定用户的宿主目录位置: -d
指定用户的账户失效时间:-e
指定用户的基本组名/也可指定组的GID号:-g
指定用户的附加组名:-G
指定用户的登录shell:-s
指定用户无宿主目录:-M
例:# useradd aa -d /etc/passwd -g bb -G cc -s ksh -e 2010-10-31 -u 200
修改用户属性:usermod
更改用户账号的登录名称:usermod -l
清空指定用户密码,仅用用户名即可登录:passwd -d
查看用户账号状态(是否被锁定):passwd -s
锁定用户:passwd -l
解锁用户:passwd -u
查看用户详细信息:finger -l + 用户名
查看用户的属组:groups + 用户名
对文件/目录设置递归权限:chmod -R + 权限 + 目录/文件
ext3分区为83,swap分区为82,LVM分区为8e
"t"指令可以变更分区类型
"d"指令可以删分区
"e"指令添加扩展分区
"p"指令添加主分区
"l"指令添加逻辑分区
init进程:
0:关机
1:单用户模式,不需要密码验证即可登录,用于系统维护
2:字符界面的多用户模式(不支持网络)
3:字符界面的完整多用户模式
4:不用
5:图形界面的多用户
6:重启
追加周期性任务计划:
# crontab -e
10 08 *** date >> /22
chkconfig + 服务名 on/off 对所有级别生效
静态查看进程:ps aux
动态查看进程:top
启动/关闭系统服务:ntsysv
踢黑客:pkill -q -U + 用户名
userdel -r + 用户名
查看httpd服务的PID:pgrep httpd
用命令行关机:运行-- shutdown -h now
重启:运行 - shutdown -r now
周一到周五:0 17 * * 1-5
周一、三、五:30 8 * * 1,3,5
8点到18点每隔2个小时:0 8-18/2 * * *
每隔3天:0 * */3 * *
0 * */15 * * /bin/rm -rf /var/ftp/pub/*
50 7 * * * /sbin/service sshd start
注:要写全命令或服务的绝对路径,用which查
对用户制定周期计划:crontab -e -u aa
查看bluetooth进程号:ps aux 1 grep bluetooth
以一定格式显示日期:date "%y-%M-%d-%H:%M"
建软连接(快捷方式):ln /usr/local/123.txt /home
查找/etc下大于100k的文件:find /etc -size +100k
man ls 1 col -b > 123.txt
过滤掉注释行:grep -v "#"
查看磁盘空间(以兆为单位):free -m
以冒号分隔显示1,6,7:head -l /etc/passwd | cut -d ":" - f 1,6,7
显示磁盘空间1,4字段:free -m | awk '{print $1,$4}'
显示当前登录用户:who
显示登录用户数:who | wc -l
显示进程数:ps | wc -l
显示当前时间、已运行时间、登录用户数及cpu负载:uptime
显示磁盘使用情况:df -hT
乘:"\*"
除:"/"
求余:"%"
运算:expr
例:expr 3 \* 5
交互式输出:read -p
去掉%:cut -d "%"
到句尾:ctrl + e
例:df -hT | grep /boot | awk '{print $6}' | cut -d "%" -f 1
提示用户输入一个整数,并与判断是否小于100
read -p " " MX
[ $MX -lt 100 ] && echo "YES" (小于输出YES,不小于无输出)
查看当前登录用户:users
统计用户每天的连接(上机)时间:ac -d 用户名
分别统计各用户的总连接时间:ac -p
指定ping的次数:-c
指定ping的大小:-s
查看所有网络接口的信息:ifconfig -a
查看路由:route (-n)
查看系统中所有连接信息:netstat -anptu
查看arp地址解析:arp -n
绑定arp地址解析:arp -s
删除arp地址解析:arp -d
添加默认网关:route add default gw 1.1.1.1
删除默认网关:route del default gw 1.1.1.1
添加到指定网段的路由记录:route add -net 172.16.0.0/16 gw 192.168.0.1
删除到指定网段的路由记录:route del -net 172.16.0.0/16
用源码包架构apache服务时,先关了(最好卸了)本机默认的httpd的rpm包
# service httpd stop
# rpm -e httpd-2.2.3-6.e15.i386.rpm (先挂光盘进目录下)
限制用户密码的有效天数为30天:
# vi /etc/login.defs
PASS_MAX_DAYS 30
或
# chage -M 30 用户名
指定用户下次登录时必须修改密码:
# chage -d 0 用户名
或
# vi /etc/shadow
aa:$1$DDRWCQ.X$XKR44a4k7Wv5orwmhpctc.:0:0:30:7:::
限制用户密码最小长度约为6(minlen)
# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12
限制记录命令历史条数为50:
# vi /etc/profile
HISTSIZE = 50
设置用户在注销(关机)后自动清空命令历史记录:
# echo "history -c" >> ~/.bash_logout
设置闲置超时自动注销终端(超时时间600秒):
# vi /etc/profile
export TMOUT=600
允许用户zhangsan通过su命令切换为root,其他用户不能:
# gpasswd -a zhangsan wheel(系统默认有)
# id zhangsan
# vi /etc/pam.d/su
auth required pam_wheel.so use_uid
su - zhangsan 后当前目录为/home/zhangsan
su zhangsan 后当前目录为/root
通过挂载选项禁止执行set位程序,二进制程序
# vi /etc/fstab
/dev/sdb1 /var ext3 defaults,noexec 1 2
# mount -o remount /var
锁定不希望更改的系统文件:
# chattr +i /etc/services /etc/passwd /boot/grub.conf
查看文件的属性状态:
# lsattr /etc/passwd
解除锁定:
# chattr -i /etc/passwd
禁止普通用户执行init.d目录中的脚本:
# chmod -R o-rwx /etc/init.d
或
# chmod -R 750 /etc/init.d
防止用户通过ctrl + alt + delete 重启系统:
# vi /etc/inttab
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now (注释掉)
# init q (使以上设置立即生效)
禁止普通用户登录:
# touch /etc/nologin
控制服务器开放的tty终端(init进程):
# vi /etc/inittab
#4:2345:respawn:/sbin/mingetty tty4
控制root登录的tty终端:
# vi /etc/securetty
#tty2 (注释掉)
更改系统登录提示,隐藏内核版本信息:
# vi /etc/issue (修改为以下内容)
welcome to server
# cp -f /etc/issue /etc/issue.net
禁止除了root以外的用户从tty1终端登录系统:
# vi /etc/pam.d/login
account required pam_access.so
# vi /etc/security/access.conf
- : ALL EXCEPT root : tty1
禁止root用户从192.168.1.0/24,172.16.0.0/8网络中远程登录:
# vi /etc/pam.d/sshd
account required pam_access.so
# vi /etc/security/access.conf
- : root : 192.168.1.0/24 172.16.0.0/8
授权用户aa可以以root权限执行ifconfig命令:
# visudo
aa s2=/sbin/ifconfig
通过别名定义一组命令授权用户使用:
# visudo
Cmnd_Alias AA=/sbin/service,/sbin/*,/usr/sbin/*
aa s2=AA (AA为自定义的变量,最好大写)
授权用户aa可以修改用户密码,但不允许改root的
# visudo
Cmnd_Alias BB=/usr/bin/passwd,!/usr/sbin/passwd root
aa s2=BB
授权用户aa登录时不需要密码验证:
aa ALL=NOPASSWD;
开启路由转发功能:
# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p
在字符界面访问网站:alinks http://www.benet.com
linux挂载windows共享命令:
mount -o username=administrator,password=123456 //192.168.0.5/ming /mnt
查看linux系统是32位还是64位命令:arch 结果是i686则是32位,x86_64则是64位。
查看当前内核版本:uname -r
查看包括内核版本,机器硬件信息、网络节点名、操作系统名字等信息:uname -a
本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/834580如需转载请自行联系原作者
yangzhimingg