linux系统常用操作命令
如何知道apache装在哪里?which httpd1、查看系统使用端口并释放端口[root@my_nn_01 WEB-INF]# lsof -w -n -i tcp:80COMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEjava 24065 root 34u IPv6 26914
注:不同系统命令有所差别
1、查看系统使用端口并释放端口
#lsof -w -n -i tcp:80 #有的系统没有该命令
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
java 24065 root 34u IPv6 269149 TCP *:http (LISTEN)
# kill -9 24065
2、以KB/MB形式显示文件列表
# ls -lh
总计 5.8G
-rw-r--r-- 1 root root 4.1G 2011-08-01 CentOS-5.5-x86_64-bin-DVD-1of2.iso
-rw-r--r-- 1 root root 413M 2011-08-01 CentOS-5.5-x86_64-bin-DVD-2of2.iso
-rw-r--r-- 1 root root 630M 2009-12-07 Win2003.iso
-rw-r--r-- 1 root root 618M 2010-09-08 Windows.Server.2003.R2.With.Sp2 X64.iso
3、查看CPU位数(32 or 64)
# getconf LONG_BIT
64
4、查看当前linux的版本
# cat /etc/redhat-release
CentOS release 5.4 (Final)
5、uname用于查看系统信息
# uname -r #打印发布的内核
2.6.18-164.el5xen
# uname -a # 查看内核/操作系统/CPU信息
# uname -a
Linux cloud_test 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
6、查看系统默认语言
echo $LANG $LANGUAGE
cat /etc/sysconfig/i18n
7、查看所属时区和是否使用UTC时间
# cat /etc/sysconfig/clock
# The ZONE parameter is only evaluated by system-config-date.
# The timezone of the system is defined by the contents of /etc/localtime.
ZONE="Asia/Shanghai"
UTC=false
ARC=false
8、查看主机名
hostname
cat /etc/sysconfig/network
修改主机名就是修改这个文件,同时最好也把/etc/hosts文件也修改
9、查看开机运行时间
# uptime
13:56:21 up 97 days, 2:51, 2 users, load average: 0.08, 0.08, 0.05
10、查看操作系统版本
# head -n 1 /etc/issue
CentOS release 5.5 (Final)
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsusb -tv
Bus# 1
`-Dev# 1 Vendor 0x0000 Product 0x0000
`-Dev# 2 Vendor 0x0627 Product 0x0001
# lsmod # 列出加载的内核模块
# env # 查看环境变量资源
11、cpu常用查看命令
more /proc/cpuinfo | grep "model name"
grep "model name" /proc/cpuinfo
[root@localhost /]# grep "CPU" /proc/cpuinfo
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
如果只想显示第二列内容:
grep "model name" /proc/cpuinfo | cut -f2 -d:
12、常用内存查看命令
grep MemTotal /proc/meminfo
grep MemTotal /proc/meminfo | cut -f2 -d:
free -m | grep "Mem" | awk '{print $2}'
awk '/MemTotal/ {printf( "%.2f\n", $2 / 1024 )}' /proc/meminfo
13、查看磁盘总大小:
# fdisk -l |grep Disk | cut -f2 -d:
498.9 GB, 498999492608 bytes
1995.9 GB, 1995997970432 bytes
我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。
所以 空闲内存=free+buffers+cached=total-used
14、查看系统安装的时候装的软件包
cat -n /root/install.log
more /root/install.log | wc -l
查看现在已经安装了那些软件包
rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
不过很奇怪,我通过rpm,和yum这两种方式查询的安装软件包,数量并不一样。没有找到原因。
15、查看键盘布局
cat /etc/sysconfig/keyboard
cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d=
16、查看selinux情况
sestatus
sestatus | cut -f2 -d:
cat /etc/sysconfig/selinux
关闭selinux
1.# vi /etc/selinux/config
# 將底下的設定值改成這樣:
SELINUX=disabled
2. 修改開機時 grub 的設定檔
# vi /boot/grub/menu.lst
.....省略.....
kernel /boot/vmlinuz-2.6.9 ro root=/dev/hda1 rhgb selinux=0
.....省略.....
3. 重新開機
# sync; reboot
17、资源
# free -m # 查看内存使用量和交换区使用量
# free -m
total used free shared buffers cached
Mem: 2453 2402 50 0 272 799
-/+ buffers/cache: 1330 1123
Swap: 4094 0 4094
# df -h # 查看各分区使用情况
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 55G 11G 41G 21% /
/dev/hda1 99M 12M 82M 13% /boot
tmpfs 1.2G 0 1.2G 0% /dev/shm
# du -sh <目录名> # 查看指定目录的大小
# du -sh
2.7G
# du /etc -sh
126M /etc
du -h -s /* | sort
/* 可改为其他目录 看看是哪个目录占用了这么多磁盘空间
然后查看一下磁盘的分配情况
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemTotal /proc/meminfo
MemTotal: 2512164 kB
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# uptime
20:25:06 up 9 days, 3:52, 3 users, load average: 0.00, 0.00, 0.00
# cat /proc/loadavg # 查看系统负载磁盘和分区
# cat /proc/loadavg
0.00 0.00 0.00 1/195 19443
# cat /proc/meminfo
MemTotal:内存总量
MemFree:空闲内存大小
Buffers:用于临时磁盘缓存
Cached:I/O读写缓存,不包括SwapCached
SwapCached:曾被换出,但被换回而仍留在swapfile的内存大小
其实,MemFree并不能代表系统内存空闲总量,系统用于I/O的缓存也应该纳入空闲内存的范围。内存空闲量:
MemFree+Buffers+Cached+SwapCached
# ll -h /proc/kcore
空闲内存=free+buffers+cached=total-used
# grep MemTotal /proc/meminfo
MemTotal: 2058016 kB
18、磁盘和分区
# mount | column -t # 查看挂接的分区状态
# cat /proc/loadavg
0.10 0.03 0.01 1/195 19445
# mount | column -t
/dev/hda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
# fdisk -l # 查看所有分区
# fdisk -l
Disk /dev/hda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 7309 58605120 83 Linux
/dev/hda3 7310 7831 4192965 82 Linux swap / Solaris
# swapon -s # 查看所有交换分区
# swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2096472 0 -1
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# hdparm -i /dev/hdc
/dev/hdc:
Model=VMware Virtual IDE CDROM Drive, FwRev=00000001, SerialNo=10000000000000000001
Config={ SoftSect Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=32kB, MaxMultSect=0
(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=no
Drive conforms to: ATA/ATAPI-4 T13 1153D revision 17: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4
* signifies the current active mode
# dmesg | grep IDE # 查看启动时IDE设备检测状况网络
# dmesg | grep IDE
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
PIIX4: IDE controller at PCI slot 0000:00:07.1
Probing IDE interface ide0...
Probing IDE interface ide1...
hdc: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive
Probing IDE interface ide0...
target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
19、网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
关闭防火墙
#service iptables stop(临时关闭。下次重启系统就不管用了)
#chkconfig iptables off.(永久管用)
或者在system-config-firewall中把iptables的enabled选项取消
# route -n # 查看路由表
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.171.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.171.2 0.0.0.0 UG 0 0 0 eth0
# netstat -lntp # 查看所有监听端口
# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3517/portmap
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3038/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3791/sendmail: acce
tcp 0 0 0.0.0.0:763 0.0.0.0:* LISTEN 3549/rpc.statd
tcp 0 0 :::22 :::* LISTEN 3769/sshd
# netstat -antp # 查看所有已经建立的连接
# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3517/portmap
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3038/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3791/sendmail: acce
tcp 0 0 0.0.0.0:763 0.0.0.0:* LISTEN 3549/rpc.statd
tcp 0 0 :::22 :::* LISTEN 3769/sshd
# netstat -s # 查看网络统计信息进程
ifconfig eth0 172.10.15.12
注意:使用ifconfig配置的ip地址在linux系统重新启动后就失效了
如果要想让地址永远生效,可以使用命令
system-config-network命令
可以为网卡设置第二个ip:ifconfig eth0:1 172.10.15.13
后面也可以加上netmask添加子网掩码
# netstat -tln | grep 8080 #查看端口8080的使用情况
# netstat -nlptu | grep 37017 #查看端口属于哪个程序
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR
IPADDR=172.10.15.3
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d=
172.10.15.3
# ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-
172.10.15.3
# ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'
172.10.15.3
192.168.122.1
20、查看网关
# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=cncloud.com.cn
GATEWAY=172.10.15.254
21、查看dns
# cat /etc/resolv.conf
nameserver 172.10.15.3
nameserver 202.96.128.86
22、进程
# ps -ef # 查看所有进程
# ps -aux | grep elasticsearch #查看某进程 grep 后的名称可以模糊匹配
# top # 实时显示进程状态用户
23、用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# id root
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
context=root:system_r:unconfined_t:SystemLow-SystemHigh
# last # 查看用户登录日志
# last
root pts/1 :0.0 Thu Mar 24 19:04 still logged in
root :0 Thu Mar 24 19:02 still logged in
root :0 Thu Mar 24 19:02 - 19:02 (00:00)
reboot system boot 2.6.18-164.el5 Fri Mar 25 03:00 (-7:-4)
root :0 Mon Mar 21 20:24 - crash (3+06:35)
root :0 Mon Mar 21 20:24 - 20:24 (00:00)
reboot system boot 2.6.18-164.el5 Tue Mar 22 03:33 (2+16:22)
wtmp begins Tue Mar 22 03:33:26 2011
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务服务
时程表的格式如下 : f1 f2 f3 f4 f5 program
用VI编辑一个文件 cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退出。
在命令行输入
$: crontab cronfile
这样就将cronfile文件提交给cron进程,同时,新创建cronfile的一个副本已经被放在/var/spool/cron 目录中,文件名就是用户名。当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可
crontab -e
修改crontab
/etc/init.d/crond restart
需要root帐号
useradd user1
useradd user2
groupadd group1
gpasswd -a user1 group1
正在将用户"user1"加入到"group1"组中
24、服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务程序
chkconfig –list #列出所有的系统服务
chkconfig –add httpd #增加httpd服务
chkconfig –del httpd #删除httpd服务
chkconfig –level httpd 2345 on #把httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态。
Linux 运行有7 种运行级别分别使用0-6 来表示控制台界面运行级别为3,图形界面运行级别为5 ,要使某服务在系统启动
时自动运行,使用chkconfig将该服务添加到相应级别的自启动服务列表中即可。
chkconfig --level 35 camsd on (注意有两个-)
上面的命令将camsd 服务添加到级别为3 5 的自启动服务列表中,而下面的命令则将服务camsd 从级别为3 5 的自启动服务
列表中删除:
chkconfig --level 35 camsd off (注意有两个-)
如果需要查看某项服务的自启动状态信息使用如下命令:
chkconfig --list camsd (注意有两个-)
25、程序
# rpm -qa # 查看所有安装的软件包
如
#rpm -qa|grep jdk
显示:jdk-1.6.0_10-fcs
卸载:#rpm -e --nodeps jdk-1.6.0_10-fcs
26、中文乱码
下载中文支持包:
fonts-chinese-3.02-12.el5.noarch中文字体包
fonts-ISO8859-2-75dpi-1.0-17.1.noarch字体显示包
l 在安装时的“supported language”里面打钩 “Chinese ”, 即可。 要注意区分安装使用的语言和支持的语言是两回事。
或者
l 如果已经安装了, 可以 yum install fonts-chinese 来安装中文字体。这样, firefox, gedit就能正确显示中文了 。
locale -a查看系统支持的语言
vi /etc/sysconfig/i18n
改成LANG="zh_CN.UTF-8"重启即可
27、备份和恢复
恢复grub配置文件
先记住grub配置文件结构
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root(hd0,0)#表示要从系统中的第一块硬盘的第一个分区去找配置文件
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet
#ro表示只读的意思
#LABEL=/表示在根目录下查找
initrd /initrd-2.6.18-164.el5.img
删除/boot/grub/grub.conf
系统启动不起来
启动时可以使用下面命令
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x1c31d4]
grub> initrd /initrd-2.6.18-164.el5.img
[Linux-initrd @ 0x10c64000, 0x27b258 bytes]
28、系统启动
linux启动的时候,会在/boot目录先
加载vmlinuz*内核文件,然后加载initrd*内存磁盘文件
注销:logout
立即关机:shutdown –h now
5分钟后关机:shutdown +5
在10:30关机:shutdown 10:30
立即关闭系统并重启:shutdown –r now
指定在23:59重启:shutdown –r 23:59
reboot一般单独使用就可以重启系统,也可以加上参数
-f参数:不依正常的程序运行关机,直接关闭系统并重新启动计算机
-l参数:在重新启动之前关闭所有网络接口
29、换行符
dos2unix把"\r\n"转化成"\n",unixtodos把"\n"转化成"\r\n"。
命令dos2unix和unix2dos的使用非常简单,格式为:dos2unix filenam
30、镜像制作:
dd if=/dev/zero of=./win2003.img bs=1 count=0 seek=50G
31、格式化日期
# date +%Y/%m/%d
2011/05/17
# date +%H:%M
10:31
显示指定年月的日历表
cal [month] [year]
一键安装ssh命令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
32、自动启动
# chkconfig --list vncserver
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig --level 5 vncserver on
# chkconfig --list vncserver
vncserver 0:off 1:off 2:off 3:off 4:off 5:on 6:off
33、创建用户及用户组
创建用户
useradd hdp
创建密码
passwd hdp
创建用户组
groupadd hadoop
添加用户到用户组
gpasswd -a hdp hadoop
或者
先创建用户组,然后直接把创建的用户添加到组
groupadd hadoop
mkdir /tmp/test
useradd -G hadoop -d /tmp/test -M hdp
G:用户所在的组 d:表示创建用户的自己目录的位置给予指定
M:不建立默认的自家目录,也就是说在/home下没有自己的目录
chown hdp.hadoop /tmp/test ----这表示把/tmp/test的属主定为hdp
chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有
34、安装GNOME
yum grouplist
yum groupinstall "GNOME Desktop Environment"
startx
35、拷贝指定目录下的某种类型文件到另一个目录
find /home/hdpusr/.ivy2/cache/ -name *.jar|xargs -I {} cp -r {} /tmp/jars/
36、删除一个目录下指定文件夹
find ./ -name .svn | xargs rm -rf
37、远程启动firefox
such as: ssh -X root@172.18.3.241 '/usr/bin/firefox'
详见:http://zhengzhuangjie.iteye.com/admin/blogs/1681389
如果启动时遇到以下错误:
[hdpusr@expedia-hdp1 bin]$ /usr/bin/firefox
Error: no display specified
编辑/etc/rc.local
添加如下内容
export DISPLAY=:0
su chester -c 'nohup java -jar /usr/local/bin/selenium-server.jar &' root
38、firefox安装flash plugin
yum install flash-plugin
rpm -ql flash-plugin
39、查看系统中现有的用户和用户组是否包含了mysql
grep -in mysql /etc/passwd /etc/group
其中/etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这
个文件修改以完成对用户的管理工作。这个文件对所有用户都是可读的。
执行上述命令,-i参数不区分大小写,如果你没有看到包含mysql的信息,则说明你的系统当前可能没有配置mysql,下面我们需要为mysql运行创建用户及组。如果你看到结果返回 mysql 的字样,说明mysql运行的帐户信息己建立好了,那么可以跳过下面这一步。
40、查看linux系统默认分隔符
[checker@localhost shell]$ set | grep IFS
IFS=$' \t\n'
41、ulimit
[hdpusr@expedia-hdp2 bin]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 30235
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
其中 "open files (-n) 1024 "是Linux操作系统对一个进程打开的文件句柄数量的限制(也包含打开的SOCKET数量,可影响
MySQL的并发连接数目).
若要令修改CentOS ulimits的数值永久生效,则必须修改配置文档/etc/security/limits.conf,
比如
* soft nofile 32768
* hard nofile 65536
如果你使用squid的话,你要在/etc/init.d/squid的文件加入CentOS ulimit -HSn 65535.另外,在squid.conf中也要加入
max_filedesc 16384
修改后,重新登录后就立刻生效
------------
#文件处理命令:ls #显示目录文件
ls 选项[-ald] [文件或目录]
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
$ ls –a > dir.txt #将ls –a命令执行结果输出到dir.txt文件。
$ ls –a >> dir.txt #将ls –a命令执行结果附加到dir.txt文件之后。
#文件处理命令:cd #切换目录
$ cd / #切换到根目录
$ cd .. 回到上一级目录
# 文件处理命令:pwd
$ pwd
/etc/rc5.d
# 文件处理命令:touch #创建空文件
$ touch newfile
#文件处理命令:mkdir #创建新目录
$ mkdir newdir
#文件处理命令:cp #复制文件或目录
$ cp -R [源文件或目录] [目的目录] #-R 复制目录
$ cp file1 file2 dir1 #将文件file1、file2复制到目录dir1
$ cp -R dir1 dir2 #将dir1下的所有文件及子目录复制到dir2
# 件处理命令:mv #移动文件、更名
$ mv file1 file3 #将当前目录下文件file1更名为file3
$ mv file2 dir2 #将文件file2移动到目录dir2下
# 文件处理命令:rm #删除文件
rm -r [文件或目录]
#文件处理命令:cat #显示文件内容
$ cat /etc/issue
$ cat /etc/services
$ cat preface.txt more #逐页显示preface.txt的内容;
$ cat preface.txt >> outline.txt #将preface.txt 附加到outline.txt文件之后;
$ cat new.txt info.txt >readme.txt #将new.txt和info.txt合并成readme.txt文件;
#文件处理命令:more
# more [文件名] #空格) 或f 显示下一页,(Enter) 显示下一行,q或Q 退出
#文件处理指令
$ head -20 /etc/services #查看文件的前几行
$ tail -30 /etc/services #显示文件的后num行
$ ln -s /etc/issue /issue.soft #产生链接文件,创建文件/etc/issue的软链接/issue.soft
$ chmod 777 dir1 #改变文件或目录权限
$ chmod g+w file1
r
读权限
可以查看文件内容
可以列出目录中的内容
w
写权限
可以修改文件内容
可以在目录中创建、删除文件
x
执行权限
可以执行文件
可以进入目录
$ chown nobody file1 #改变文件或目录的所有者,改变文件file1的所有者为nobody
$ chgrp adm file1 #改变文件或目录的所属组,改变文件file1的所属组为adm
$ umask #显示、设置文件的缺省权限
$ umask -S #以rwx形式显示新建文件或目录缺省权限
$ which ls #显示系统命令所在目录
文件搜索命令:find 查找文件或目录
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 0 | xargs rm -f & 删除文件大小为零的文件
$ locate file #寻找文件或目录 列出所有跟file相关的文件
# updatedb #建立整个系统目录文件的数据库
文件搜索命令:grep
grep 'test' d* 显示所有以d开头的文件中包含test的行。
grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。
grep '[a-z]\{5\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ man ls #获得帮助信息,查看ls命令的帮助信息
$ info ls #查看ls指令的帮助信息
$ whatis ls #获得索引的简短说明信息
$ apropos fstab #相当于man -k
# makewhatis #建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database 没有建立
#压缩解压命令
#压缩文件
tar -czf test.tar.gz /test1 /test2
列出压缩文件列表
tar -tzf test.tar.gz
#解压文件
tar -xvzf test.tar.gz
c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
#压缩解压命令:zip
$ zip -r test.zip /test #压缩文件或目录
压缩解压命令:unzip
$ unzip test.zip #解压.zip的压缩文件
#压缩解压命令:bzip2
$ bzip2 -k file1 #解压缩
#网络通信指令:write
$ write webmaster #向另外一个用户发信息,以Ctrl+D作为结束
#网络通信指令:wall
$ wall Happy New Year! #向所有用户广播信息
#网络通信命令:ping
# ping 192.168.1.1 #测试网络连通性
#网络通信命令:ifconfig
# ifconfig -a #查看网络设置信息
#系统关机命令:shutdown
# shutdown -h now #关机
#系统关机命令:reboot
# reboot #重启系统
#加载光盘命令:mount
#卸载光盘命令 umount
注意: 若要允许一般用户也能加载光盘或软盘,请修改/ect/fstab/设置文件
/dev/cdrom/mut/cdrom udf,iso9660 noauto,owner,kudzu,ro,user
若要让一般用户也加载光盘,请在此处加上“,user”项目。
# mount /dev/cdrom /mut/cdrom ←加载光盘
# umount /mnt/cdrom ←光盘卸载
#删除调度工作任务:crontab
$ crontab –r #删除任务调度中的工作
$ crontab -1 #再查看一次任务调度中的工作
#用户使用过的历史命令:history
一.用户组管理
1. 添加用户组
groupadd
2. 删除用户组
groupdel
3. 修改用户组
groupmod
4. 切换用户组
newgrp <groupname>
如果一个用户同时属于多个用户组,可以用 newgrp 命令切换至目的组,以便能够拥有该组的权限。
5. 查看所有组
所有组其实就是 /etc/group 文件的内容做一些过滤。
cat /etc/group | awk -F: '{print $1}'
6. 查看用户所在组
groups <username>
二.用户管理
1. 添加用户
useradd <username> -d <path> -m -g –G –p
常用的就是上面几个参数,意思分别为:
-d :指定用户主目录。如果此目录不存在,同时使用 -m 就会创建此目录。
-m :创建用户主目录
-g :用户所属组 ID
-G :用户所属组名
-p :登录密码。注意这个登录密码不是明文,是指加密后的密码。
useradd testuser –m –G mygroup
将会创建一个 testuser 的用户,并自动创建 /home/testuser 的用户主目录,并将用户添加至 mygroup 组中。
2. 删除用户
userdel –f –r <username>
-r :删除用户主目录以及邮箱中的邮件
-f :强行删除文件,即使属主不是该用户
3. 修改用户
usermod <username> -d <path> -m -g –G –p
参数意思与 useradd 大致相同
4. 用户密码
passwd <username> :修改密码
passwd –d <username> :命令将用户的密码删除,即下次登录无须密码。
passwd –l <username> :锁定用户,使其无法登录
三.文件属主管理
1. 更改属主
chown –R <username>.<groupname> file
-R :表示递归更改
chown –R testuser.newgroup testpath
上面的命令将 testpath 路径下的所有文件的拥有者都改为 testuser ,拥有组都改为 newgroup 。
2. 设置文件掩码
umask [a1 a2 a3 ]
用户可以使用 umask 命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将 umask 命令放在环境文件 .bash_profile 中,就可以控制所有新建的文件和目录的访问权限。
a1 表示的是不允许属主的权限, a2 表示的是不允许同组人的权限, a3 代表不允许其他人的权限。
umask 022 : 表示设置不允许同组用户和其他用户有写的权限。
umask : 显示当前的默认生成掩码。
-----CentOS最基本的20个常用命令----
CentOS最基本的20个常用命令
1. man 对你熟悉或不熟悉的命令提供帮助解释
eg:man ls 就可以查看ls相关的用法
注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。
2. ls 查看目录或者文件的属*,列举出任一目录下面的文件
eg: ls /usr/man
ls -l
a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。
3. cp 拷贝文件
eg: cp filename1 filename2 //把filename1拷贝成filename2
cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c
4. rm 删除文件和目录
eg: rm 1.c //将1.c这个文件删除
5. mv 移走目录或者改文件名
eg: mv filename1 filename2 //将filename1 改名为filename2
mv qib.tgz ../qib.tgz //移到上一级目录
6. cd 改变当前目录 pwd 查看当前所在目录完整路径
eg: pwd //查看当前所在目录路径
cd netseek //进入netseek这个目录
cd //退出当前目录
7. cat,more命令
将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
eg; cat>1.c //就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。
cat 1.c 或more 1.c //都可以查看里面的内容。
gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码。
8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename。
eg: chmod u+x filenmame //只想给自己运行,别人只能读
//u表示文件主人, g 表示文件文件所在组。 o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
chmod g+x filename //同组的人来执行
chmod a+x filename
9. clear,date命令
clear:清屏,相当与DOS下的cls;date:显示当前时间。
10. mount 加载一个硬件设备
用法:mount [参数] 要加载的设备 载入点
eg: mount /dev/cdrom
cd /mnt/cdrom //进入光盘目录
11. su 在不退出登陆的情况下,切换到另外一个人的身份
用法: su -l 用户名(如果用户名缺省,则切换到root状态)
eg:su -l netseek (切换到netseek这个用户,将提示输入密码)
12.whoami,whereis,which,id
//whoami:确认自己身份
//whereis:查询命令所在目录以及帮助文档所在目录
//which:查询该命令所在目录(类似whereis)
//id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)
eg: whoami //显示你自已登陆的用户名
whereis bin 显示bin所在的目录,将显示为:/usr/local/bin
which bin
13. grep,find
grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
eg: grep success * /*查找当前目录下面所有文件里面含有success字符的文件
14. kill 可以杀死某个正在进行或者已经是dest状态的进程
eg; ps ax
15. passwd 可以设置口令
16. history 用户用过的命令
17. !! 执行最近一次的命令
18. mkdir命令
eg: mkdir netseek //创建netseek这个目录
#如何配置让哪些服务启动
方法1 运行ntsysv或者setup命令,进入菜单进行配置
方法2 chkconfig --list 显示服务
chkconfig name on/off 打开/关闭“name”服务
#查看文件夹大小
du -sh uploadfile
#查看磁盘使用情况
df -hl
#.删除目录下所有文件包括子目录
rm -rf 目录名
#查看系统信息
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 - 看系统内核等信息
cat /etc/fstab 查看系统的文件格式
df -T -H 查看系统的文件格式
#如何配置让哪些服务启动
方法1 运行ntsysv或者setup命令,进入菜单进行配置
方法2 chkconfig --list 显示服务
chkconfig name on/off 打开/关闭“name”服务
#查看文件夹大小
du -sh uploadfile
#查看磁盘使用情况
df -hl
更多推荐
所有评论(0)