using locate to find files in the file system. using which to locate command/shells under the $PATH.
dmesg
print the boot able message. Seems it will print all the hda/sda and other drivers. Examining the messages produced by the kernel as it loads is a good way to see what hardware has been detected. A copy of the kernel message is made during the boot sequence. The message is located at /var/log/dmesg file. So the dmesg command has the same effect as cat /var/log/dmesg.
dd
convert and copy a file. For example,
dd if=/dev/hda of=MBR bs=446 count=1
will copy the /dev/hda (boot area) of the system to the file MBR.
dd if=/dev/hda of=/dev/sda bs=446 count=1
will backup the MBR of the system to the /dev/sda disk.
the dd command will remove any partitions or data currenctly on the /dev/sda device.
so pay special attention to the OF parameter of this command when it's a device.
mount and umount
mount a file system and umount a file system.
passwd
change the password of the current user. If the current root password is unknown, then you can boot to single user mode (where you will be automatically logged in as root without being prompted for a password) and then run the passwd command from the prompt.
system-config-rootpassword will change the password of the root.
system-config-***
system-config-time or system-config-date programs can change the time zone and the date/time settings after installation of the system.
system-config-authentication program can be used to configure the password file location and encryption algorithm.
system-config-*** tools are used to configure various devices and services.
lspci, kudzu, ddcprobe, lsusb
lspci command can be used to show all devices connected to the PCI bus.
kudzu command for getting information about the video card .
kudze -p -c VIDEO
ddcprobe command can detect the resolutions and refresh rates supported by the monitor.
lsusb command seems to list all the usb hardware drivers.
sysctl
/proc was to provide information about running process on the system. Commands link ps depend on /proc as the source of process information. Inside /proc exists a sub-directory whose name corresponds with the PID of each process on the system.
configuring the kernel via /proc/sys.
using cat command and echo command to view and set the value in /proc/sys..
cat /proc/sys/fs/file-max
echo "110000" > /proc/sys/fs/file-max
sysctl command is a better way to view and set value in /proc/.
to view: # sysctl fs.file-max
fs.file-max=767604
to set: # sysctl -w "fs.file-max=1100000"
sysctl can also list all available kernel tuning options as shown:
#sysctl -a
Add/modify the line in the /etc/sysctl.conf file can persist the kernel tuning parameters.
Changes to the values in /proc will not survive as reboot. so change the /etc/sysctl.conf file maybe a better way.
date and hwclock command, ntpdate and rdate
The hwclock command is the primary way of interacting with the hardware clock.
hwclock --show
hwclock --set --date "Fri Apr 8 13:33:12 HKT 2011"
date --set "Fri Apr 8 13:33:12 HKT 2011"
RPM and the YUM..
rpm database, typically located in the /var/lib/rpm directory, contains a list of all installed applications, and the files which belong to those applications.
rpm package file's name:
name-version-release.architecture.rpm
The name indicates the software which is packages in that RPM. Usually, this name is the name of the application.
Version indicates the version of the software which is packaged in that RPM.
Release in the RPM package file name is used to indicate revisions of the packaging of that particular version of that application.
Architecture is the platform on which that RPM can be executed, if binary. Typical values seen here include:
i386 -any 32-bit interl-compatible CPU
i686 - any 686-class 32-bit intel-compatible CPU
x86_64 - any AMD64 or Intel EM64T CPUs
ppc - any 32 bit powerPC CPU
ppc64 - any 64-bit powerPC CPU
ia64 - any 64 bit Itanium CPU
noarch - the package can be used on any CPU architecture
scr - package application source code, patches, and scripts specifying how that source code should be configured and compiled into binary RPMs.
RPM package files are cpio archives with a binary header attached.
The rpm command is one of the most important commands in the Linux command in the system.
/etc/yum.conf file and the /etc/yum.repos.d directory.
/sbin/runlevel
command can be used to view the current runlevel. It also displays the previous run level.
To switch runlevels, the standard way is to use the init or the telinit command.
/sbin/init
the /etc/inittab file contains init program's configuration.
chkconfig , ntsysv and serviceconf
update and query runlevel information for system services.
To determine what the current configuration of a given daemon is ,issue the following command:
chkconfig --list sshd
This will list the availability of the sshd service in all the run levels.
to view the status of all daemons run:
chkconfig --list
The ntsysv and serviceconf commands provide a graphical browser, respectively of all services available on the system and the ability to select graphically which services should be started or stopped in a given run level. Using system-config-services is the ultimate choice.
Shutdown, reboot and poweroff
The shutdown command is the preferred method of rebooting or shutting down linux. Shutdown will automatically notify all logged-in users of the impending action. As the time approaches, it will alert logged-in users with a greater frequency and urgency.
fdisk
to create a partition table of the disk.
to print the partition table for a given drive, use fdisk -l /dev/XXX, for example:
fdisk -l /dev/hda
fdisk -l /dev/sda
The most commonly used filesystem is ext3, the standard Linux filesystem.
mkfs
After creating a partition with fdisk or sfdisk, a filesystem is typically created on it using mkfs.
mkfs is the standard utility used to create linux filesystems.
--the following command will create an ext2 file system.
mkfs /dev/hda1
--the following command will create an MS-DOS file system.
mkfs -t msdos /dev/hda1
The ext3 file system is essentially just an ext2 file system with a journaling file; the on-disk file system structures of ext2 and ext3 are identical.
mkfs -j
mkfs.ext3
mke2fs -j
the above commands will create an ext3 file system.
mount and umount
A basic task of most administrators is maintaining file system layouts. New partitions can be transparently grafted into existing file system structures using the mount command. These mounts are listed in /etc/fstab so they will occur automatically at boot.
The mount and umount modify a text database, /etc/mtab, which lists all currently mounted partitions. The kernel itself also maintains a database, /proc/mounts, which lists all currently mounted partitions. The /proc/mounts file tends to be more accurate than /etc/mtab.
Figure out why the file system is still busy.
fuser: displays the PIDs of processes using the specified files or file systems.
lsof: lists information about files opened by processes
lslk: lists locks held on local files.
Viewing process
ps, pstree, top, jobs, pkill
ps - standard process listing tool.
ps -ef |grep *** maybe the mostly used ps command.
It can be replaced by the pgrep command.
pstree - show process tree
top - provides summary information and stats on each running
process in real-time fashion
jobs - display backgrounded and suspended processes invoked from shell
Tools like ps, top and pstree use the /proc file system to collect the data they need to operate.
strace command: to watch the system calls that these commands make when running.
stract ps
In order to see threads in the output of ps, use the -m switch.
pkill is a combination of pgrep and kill, use it carefully.
Signaling a Process
Processes react to various signals sent to them by other processes or manually by the system administrator. Common signals include Hang Up: SIGHUP, Terminate : SIGTERM and Stop : SIGSTOP.
Process's priority.
nice and renice command
nice -5 mysql. the kernel's process scheduler uses this nice value as a relative indicator that it is allowed shift the scheduling priority of that process.
pgrep mysql
renice 10 3306
The mysql process (process id=3306) 's nice value would then be 5.
As with the nice command, only root can use negative values with renice. In addition, only root can renice other users' processes.
Syslog facilities and priorities
The facility is used to specify what type of program is generating the message. syslogd can then be configured to handle messages from different sources differently.
System logs
logrotate
Process accounting
ac
The ac command is used to view summaries of user logins. It usually works even when process accounting is not being used. It accesses the /var/log/wtmp file.
ac --individual
ac -d
Limiting resource consumption - via ulimit
The ulimit command provides control over the consumption of resources available to the shell and to processes started by it.
What is a hard limit and a soft limit??? A hard limit can not be increased once it's set, a soft limit maybe increased to the value of the hard limit.