Main Responsibilities of the Linux System Administrator
- Maintaining User Accounts
- Security
- Managing the disk space and Backup
The Administrator’s Privileges:
- Change the contents or attributes of any file like its permission and ownership
- He can delete any file with rm even if it is write-protected.
- Initiate or Kill Any Process
- Change any user’s password without knowing the existing one
- Set the system clock with date
- Limit the maximum size of files that users are permitted to create with ulimlit
- Controls users access to the scheduling services like at and cron
- Control users access to many networking services like Telnet, FTP, etc
Commands:
# su :- Acquire Superuser after entering password but home directory does not change
date – Setting the system Date # date MMDDhhmm
wall: Communicating with users wall: Communicating with users
# wall The machine will be shutdown today at 14 30 The Back up will be at 12:30 [Ctrl-d]
ulimit: Setting Limits on File Size ulimit: Setting Limits on File Size
passwd – Changing any Password # passwd amit
- Most administrative commands are resident in /sbin and /usr/sbin
- Linux uses Bash for normal and system administrative operations. Using Korn or C shell, all command may not work.
- # in prompt indicates that the login is from root user.
input/output for C-shell (See man csh)
| | pipe output to input |
> | redirect output to a storage file |
< | redirect input from a storage file |
>> | append redirected output to a storage file |
tee | copy input to both file and next program in pipe |
script | make file record of all terminal activity |
Email and communication
msgs | read system bulletin board messages |
mailx | send/read email; can be run by other programs to send exisiting files via email |
Editors and formatting utilities
sed | programmable text editor for data streams |
vi | full-featured editor for character terminals |
emacs | GNU emacs editor for character terminals |
xemacs | GNU emacs editor for X Window terminals |
pico | very simple text editor |
Terminal control characters for C-shell (csh)
^h, backspace | erase previously typed character |
^u | erase entire line of input so far typed |
^d | end-of-input for programs reading from terminal |
^s | suspend writing to terminal (freezes terminal) |
^q | continue writing to terminal |
^z | suspend currently running job; restart with bg or fg |
^c | kill currently running program and allow clean-up before exiting |
^\ | emergency kill of currently running program with no chance of cleanup |
Information
date | show date and time |
history | list of previously executed commands |
man | show online documentation by program name |
info | online documentation for GNU programs |
w, who | who is on the system and what they are doing |
whoami | who is logged onto this terminal |
top | show system stats and top CPU using processes |
uptime | show one line summary of system status |
File management
cat | combine files |
cp | copy files |
ls | list files in a directory and their attributes |
mv | change file name or directory location |
rm | remove files |
ln | create another link (name) to a file |
chmod | set file permissions |
crypt | encode/decode a file with a private key |
gzip, gunzip | compress/decompress a file |
find | find files that match specific criteria |
Display contents of files
cat | copy files to display device |
more | show text file on display terminal with paging control |
head | show first few lines of a file(s) |
tail | show last few lines of a file; or reverse line order |
vi | full-featured screen editor for modifying text files |
pico | simple screen editor for modifying text files |
grep | display lines that match a pattern |
lpr | send file to printer |
pr | format file with page headers, multiple columns, etc. |
diff | compare two files and show differences |
cmp | compare two binary files and report if different |
comm | compare two files; show common or unique lines |
od | display binary files as eqivalent octal/hex codes |
strings | show printable text embedded in binary files |
file | examine file(s) and guess type: text, data, program, etc. |
wc | count characters, words, and lines in a file |
Controlling program execution for C-shell (See man csh)
& | run job in background |
^c | kill job in foreground |
^z | suspend job in foreground |
fg | restart suspended job in foreground |
bg | run suspended job in background |
; | delimit commands on same line |
() | group commands on same line |
! | re-run earlier commands from history list |
jobs | list current jobs |
ps | show process information |
kill | kill background job or previous process |
nice | run program at lower priority |
at | run program at a later time |
crontab | run program at specified intervals |
limit | see or set resource limits for programs |
alias | create alias name for program (normally used in .login file) |
sh, csh | execute command file |
Interpreted languages and data manipulation utilities
sed | programmable text editor for data streams |
awk | pattern scanning and processing language |
perl | Practical Extraction and Report Language |
sort | sort or merge lines in a file(s) by specified fields |
tr | translate characters |
cut | cut out columns from a file |
paste | paste columns into a file |
dd | copy data between devices; reblock; convert EBCDIC |
Networking/communications
ssh | remote login/command execution; encrypted |
scp | remote non-interactive file copy; encrypted |
sftp | remote interactive file copy; encrypted |
telnet | remote network login; plain text password - not recommended |
ftp | network file transfer program; plain text password - not recommended |
host | find IP address for given host name, or vice versa |
lynx | web browser for character based (text-only) terminals |
gzip, gunzip | compress/decompress a file |
tar | combine multiple files/dirs into single archive |
VI/VIM editor Commands
- what will happen ?
"man ls |col -b > " will give the text file same as man ls.
- what is VI-editor ?
While in vi you can run AIX commands without exiting the editing session. The! creates a
shell to execute the command that follows.
1. :!ls will create a shell
2. All files in the current directory are listed. Press return to exit the shell and return to the
vi session or...
3. While still in command mode, issue the :r snacks command
4. The contents of snacks, in this case, are read into the vi file. By default, it will appear
after the current line.
If you need to run a series of commands without returning to vi after the first command is
executed, enter :sh. When you have run all the commands, press to exit the shell
and return to vi.
- VI Options:-
vi has many modes of operation. Some of these will affect the way text is presented, while
others will make editing easier for novice users.
:set all display all settings
:set display settings different than the default
:set ai sets autoindent on
:set noai turns autoindent mode off
:set nu enables line numbers
:set nonu turns line numbers off
:set list displays non-printable characters
:set nolist hides non-printable characters
:set showmode shows the current mode of operation
:set noshowmode hides mode of operation
:set ts=4 sets tabs to 4-character jumps
:set ic ignores case sensitivity
:set noic case sensitive
- Search
/word Search “word” from top to bottom
?word Search “word” from bottom to top
/jo[ha]n Search “john” or “joan”
/\< the Search “the”, “theatre” or “then”
/the\> Search “the” or “breathe”
/\ Search “the”
/\ Search all words of 4 letters
/\/ Search “fred” but not “alfred” or “frederick”
/fred\|joe Search “fred” or “joe”
/\ Search exactly 4 digits
/^\n\{3} Find 3 empty lines
:bufdo /searchstr/ Search in all open files
- Replace
:%s/old/new/g Replace all occurences of “old” by “new” in file
:%s/old/new/gw Replace all occurences with confirmation
:2,35s/old/new/g Replace all occurences between lines 2 and 35
:5,$s/old/new/g Replace all occurences from line 5 to EOF
:%s/^/hello/g Replace the begining of each line by “hello”
:%s/$/Harry/g Replace the end of each line by “Harry”
:%s/onward/forward/gi Replace “onward” by “forward” , case unsensitive
:%s/ *$//g Delete all white spaces
:g/string/d Delete all lines containing “string”
:v/string/d Delete all lines containing which didn't contain “string”
:s/Bill/Steve/ Replace the first occurence of “Bill” by “Steve” in current line
:s/Bill/Steve/g Replace “Bill” by “Steve” in current line
:%s/Bill/Steve/g Replace “Bill” by “Steve” in all the file
:%s/\r//g Delete DOS carriage returns (^M)
:%s/\r/\r/g Transform DOS carriage returns in returns
:%s#]\+>##g Delete HTML tags but keeps text
:%s/^\(.*\)\n\1$/\1/ Delete lines which appears twice
Ctrl+a Increment number under the cursor
Ctrl+x Decrement number under cursor
ggVGg? Change text to Rot13
- Case
Vu Lowercase line
VU Uppercase line
g~~ Invert case
vEU Switch word to uppercase
vE~ Modify word case
ggguG Set all text to lowercase
:set ignorecase Ignore case in searches
:set smartcase Ignore case in searches excepted if an uppercase letter is used
:%s/\<./\u&/g Sets first letter of each word to uppercase
:%s/\<./\l&/g Sets first letter of each word to lowercase
:%s/.*/\u& Sets first letter of each line to uppercase
:%s/.*/\l& Sets first letter of each line to lowercase
- Read/Write files
:1,10 w outfile Saves lines 1 to 10 in outfile
:1,10 w >> outfile Appends lines 1 to 10 to outfile
:r infile Insert the content of infile
:23r infile Insert the content of infile under line 23
- File explorer
:e . Open integrated file explorer
:Sex Split window and open integrated file explorer
:browse e Graphical file explorer
:ls List buffers
:cd .. Move to parent directory
:args List files
:args *.php Open file list
:grep expression *.php Returns a list of .php files contening expression
gf Open file name under cursor
- Interact with Unix
:!pwd Execute the “pwd” unix command, then returns to Vi
!!pwd Execute the “pwd” unix command and insert output in file
:sh Temporary returns to Unix
$exit Retourns to Vi
- Alignment
:%!fmt Align all lines
!}fmt Align all lines at the current position
5!!fmt Align the next 5 lines
- Tabs
:tabnew Creates a new tab
gt Show next tab
:tabfirst Show first tab
:tablast Show last tab
:tabm n(position) Rearrange tabs
:tabdo %s/foo/bar/g Execute a command in all tabs
:tab ball Puts all open files in tabs
- Window spliting
:e filename Edit filename in current window
:split filename Split the window and open filename
ctrl-w up arrow Puts cursor in top window
ctrl-w ctrl-w Puts cursor in next window
ctrl-w_ Maximise current window
ctrl-w= Gives the same size to all windows
10 ctrl-w+ Add 10 lines to current window
:vsplit file Split window vertically
:sview file Same as :split in readonly mode
:hide Close current window
:only Close all windows, excepted current
:b 2 Open #2 in this window
- Auto-completion
Ctrl+n Ctrl+p (in insert mode) Complete word
Ctrl+x Ctrl+l Complete line
:set dictionary=dict Define dict as a dictionnary
Ctrl+x Ctrl+k Complete with dictionnary
- Marks
mk Marks current position as k
‘k Moves cursor to mark k
d’k Delete all until mark k
Abbreviations
:ab pr printf("This is a Demo Ver \n"); Define pr as abbreviation of printf("This is a Demo Ver \n");
- Text indent
:set autoindent Turn on auto-indent
:set smartindent Turn on intelligent auto-indent
:set shiftwidth=4 Defines 4 spaces as indent size
ctrl-t, ctrl-d Indent/un-indent in insert mode
>> Indent
<< Un-indent
- Syntax highlighting
:syntax on Turn on syntax highlighting
:syntax off Turn off syntax highlighting
:set syntax=perl Force syntax highlighting
- How to Exit
:q[uit] Quit Vim. This fails when changes have been made.
:q[uit]! Quit without writing.
:cq[uit] Quit always, without writing.
:wq Write the current file and exit.
:wq! Write the current file and exit always.
:wq {file} Write to {file}. Exit if not editing the last
:wq! {file} Write to {file} and exit always.
:[range]wq[!] [file] Same as above, but only write the lines in [range].
ZZ Write current file, if modified, and exit.
ZQ Quit current file and exit (same as ":q!").
- Editing a File
:e[dit] Edit the current file. This is useful to re-edit the current file, when it has been changed outside of Vim.
:e[dit]! Edit the current file always. Discard any changes to the current buffer. This is useful if you want to start all over again.
:e[dit] {file} Edit {file}.
:e[dit]! {file} Edit {file} always. Discard any changes to the current buffer.
gf Edit the file whose name is under or after the cursor. Mnemonic: "goto file".
- Inserting Text
a Append text after the cursor [count] times.
A Append text at the end of the line [count] times.
i Insert text before the cursor [count] times.
I Insert text before the first non-blank in the line [count] times.
gI Insert text in column 1 [count] times.
o Begin a new line below the cursor and insert text, repeat [count] times.
O Begin a new line above the cursor and insert text, repeat [count] times.
- Inserting a file
:r[ead] [name] Insert the file [name] below the cursor.
:r[ead] !{cmd} Execute {cmd} and insert its standard output below the cursor.
No comments:
Post a Comment